Spark Sqlチュートリアル(2)———DataFrame基本操作
1643 ワード
Spark sqlチュートリアルSpark Sqlチュートリアル(1)————sparkSession Spark Sqlチュートリアルを作成する(2)———DataFrame基本操作Spark Sqlチュートリアル(3)———DataFrame実行SqlクエリーSpark Sqlチュートリアルを実行する(4)———グローバルテンポラリテーブルとローカルテンポラリテーブルSpark Sqlチュートリアル(5)———datasetとdataframe Spark Sqlチュートリアル(6)———RDDからDataFrame Spark Sqlチュートリアルに変換する方法(7)———ParquetファイルSpark Sqlチュートリアル(8)———読み取り形式の多様なファイルタイプこのセクションでは、printScema()がツリー形式でdataframe構造情報select()を印刷し、select()where()orderBy()と組み合わせて使用できる基本的なdataFrame操作について説明します.
出力された結果は次のとおりです.
import org.apache.spark.sql.SparkSession
object SparkSqltest1 {
def main(args: Array[String]): Unit = {
// sparksession
val sparkSession=SparkSession.builder().appName("test1").master("local[*]")getOrCreate()
import sparkSession.implicits._
// dataframe
val df=sparkSession.read.json("hdfs://192.168.1.181:9000/json/data.json")
df.show()
df.printSchema()//
// df.select("name").show()
df.select($"name").show()
df.select($"name",$"age"*2).orderBy($"age".asc).show()
df.groupBy($"age").count().show()
sparkSession.stop()
}
}
出力された結果は次のとおりです.
+---+--------+
|age| name|
+---+--------+
| 1|zhangsan|
| 2| lisi|
+---+--------+
root
|-- age: long (nullable = true)
|-- name: string (nullable = true)
+--------+
| name|
+--------+
|zhangsan|
| lisi|
+--------+
+--------+---------+
| name|(age * 2)|
+--------+---------+
|zhangsan| 2|
| lisi| 4|
+--------+---------+
+---+-----+
|age|count|
+---+-----+
| 1| 1|
| 2| 1|
+---+-----+