Linux Shell 是与操作系统交互的强大工具。无论是系统管理、文件处理还是网络配置,Shell 命令都能让任务变得简单而高效。本文将整理一些常用的 Linux Shell 命令,帮助大家更好地掌握和使用 Linux。
ls - 列出目录内容列出目录中的文件和子目录。
bashls
ls -l # 详细信息
ls -a # 包括隐藏文件
cd - 切换目录切换到指定目录。
bashcd /path/to/directory
cd ~ # 切换到主目录
cd - # 切换到上一个目录
SparkSQL 提供了通用的保存数据和数据加载的方式。这里的通用指的是使用相同的 API,根据不同的参数读取和保存不同格式的数据,SparkSQL 默认读取和保存的文件格式 为 parquet
spark.read.load 是加载数据的通用方法
scalascala> spark.read. csv format jdbc json load option options orc parquet schema table text textFile
如果读取不同格式的数据,可以对不同的数据格式进行设定
scalascala> spark.read.format("…")[.option("…")].load("…")
文件路径scalascala> val df = spark.read.json("data/user.json") df: org.apache.spark.sql.DataFrame = [age: bigint, username: string]
scalascala> spark.udf.register("addName",(x:String)=> "Name:"+x) res9: org.apache.spark.sql.expressions.UserDefinedFunction = UserDefinedFunction(<function1>,StringType,Some(List(StringType)))
scalascala> df.createOrReplaceTempView("people")
scalascala> spark.sql("Select addName(name),age from people").show()
累加器用来把 Executor 端变量信息聚合到 Driver 端。在 Driver 程序中定义的变量,在 Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后, 传回 Driver 端进行 merge。
scalaval rdd = sc.makeRDD(List(1,2,3,4,5)) // 声明累加器 var sum = sc.longAccumulator("sum"); rdd.foreach( num => { // 使用累加器 sum.add(num) } ) // 获取累加器的值 println("sum = " + sum.value)