了解 Spark SQL 的一些基础知识

lar*_*ars 0 scala apache-spark apache-spark-sql apache-spark-dataset

我正在关注http://spark.apache.org/docs/latest/sql-programming-guide.html

输入后:

val df = spark.read.json("examples/src/main/resources/people.json")

// Displays the content of the DataFrame to stdout
df.show()
// +----+-------+
// | age|   name|
// +----+-------+
// |null|Michael|
// |  30|   Andy|
// |  19| Justin|
// +----+-------+
Run Code Online (Sandbox Code Playgroud)

我有一些问题没有看到答案。

首先,什么是 $ 符号?如在

 df.select($"name", $"age" + 1).show()
Run Code Online (Sandbox Code Playgroud)

其次,我可以只从第二行获取数据吗(而且我不知道第二行的数据是什么)。

第三,如何使用 Spark sql 读取彩色图像?

第四,我仍然不确定spark中的数据集和数据帧之间有什么区别。变量 df 是一个数据帧,那么我可以将“Michael”更改为整数 5 吗?我可以在数据集中做到这一点吗?

use*_*271 5

  1. $不是注释。它是一个方法调用( 的快捷方式new ColumnName("name"))。
  2. 你不会。Spark SQL 没有行索引的概念。
  3. 你不会。您可以使用具有特定输入格式(例如 HIPI 项目中的格式)的低级 RDD API,然后进行转换。
  4. DataSet API 和 DataFrame 之间的区别