IDEA_SQLスタイル&& _ DSLスタイルでSparkSQLコードを記述

IDEA _SQLスタイルおよび_DSLスタイル
1、SQLスタイルを介してSparkSQLコードを記述します

パッケージcn.itcast.sql
import org.apache.spark.SparkContext
import org.apache.spark.sql。{DataFrame、Dataset、SparkSession}
オブジェクトWordCount {
def main(args:Array [String]):Unit = {
// 1 .Create SparkSession
val spark:SparkSession = SparkSession.builder()。Master( "local [ ]")。AppName( "SparkSQL")。GetOrCreate()
val sc:SparkContext = spark.sparkContext
sc.setLogLevel( "WARN")
/ / 2.ファイル
val fileDFを読み取る:DataFrame = spark.read.text(“ D:\ data \ words.txt”)
val fileDS:Dataset [String] = spark.read.textFile(“ D:\ data \ words。 ")TXT
()//fileDF.show
//fileDS.show()
カットに従って行ごと// 3及び平坦部分空間。
//fileDF.flatMap(.split("「))//注意:エラー、DFにはジェネリックがないため、_が文字列であることを知らない
。spark.implicitsインポート

ヴァルwordDS:データセット[文字列] = fileDS.flatMap(_スプリット( "")。)//注:正しい、DSはジェネリックを持っているため、_文字列を知ることである
//wordDS.showを()
/

± ---- +
| value |
±---- +
| hello |
| me |
| hello |
| you |

* /
// 4. WordCount
wordDS.createOrReplaceTempView(“ t_word”)
val sql =
"" "
|値を選択、カウント(値)をカウントとして
| t_wordから
|値でグループ化
|カウントで順序desc
" "" .stripMargin
spark.sql(sql).show()
sc.stop()
spark.stop()
}
}

2. DSLスタイル

パッケージcn.itcast.sql
インポートorg.apache.spark.SparkContext
インポートorg.apache.spark.sql。{DataFrame、Dataset、SparkSession}
オブジェクトWordCount2 {
def main(args:Array [String]):Unit = {
// 1 .Create SparkSession
val spark:SparkSession = SparkSession.builder()。Master( "local [ ]")。AppName( "SparkSQL")。GetOrCreate()
val sc:SparkContext = spark.sparkContext
sc.setLogLevel( "WARN")
/ / 2.ファイル
val fileDFを読み取る:DataFrame = spark.read.text(“ D:\ data \ words.txt”)
val fileDS:Dataset [String] = spark.read.textFile(“ D:\ data \ words。 ")TXT
()//fileDF.show
//fileDS.show()
カットに従って行ごと// 3及び平坦部分空間。
//fileDF.flatMap(.split("「))//注意:エラー、DFにはジェネリックがないため、_が文字列であることを知らない
。spark.implicitsインポート

ヴァルwordDS:データセット[文字列] = fileDS.flatMap(_スプリット( "")。)//注:正しい、DSはジェネリックを持っているため、_文字列を知ることである
//wordDS.showを()
/

± ---- +
| value |
±---- +
| hello |
| me |
| hello |
| you |

* /
// 4. WordCount
wordDS.groupBy(“ value”)。count( ).orderBy($“ count” .desc).show()
sc.stop()
spark.stop()
}
}

元の記事を238件公開 賞賛された429件 ビュー250,000件

おすすめ

転載: blog.csdn.net/qq_45765882/article/details/105561251