web-dev-qa-db-ja.com

SparkSQL-寄せ木張りファイルを直接読み込む

次のコードを使用してテーブルを読み取ることにより、ImpalaからSparkSQLに移行しています。

my_data = sqlContext.read.parquet('hdfs://my_hdfs_path/my_db.db/my_table')

上記のSparkSQLをどのように呼び出すのですか?

'select col_A, col_B from my_table'
12
Edamame

寄せ木細工のファイルからDataframeを作成した後、sql queriesを実行する一時テーブルとして登録する必要があります。

val sqlContext = new org.Apache.spark.sql.SQLContext(sc)

val df = sqlContext.read.parquet("src/main/resources/peopleTwo.parquet")

df.printSchema

// after registering as a table you will be able to run sql queries
df.registerTempTable("people")

sqlContext.sql("select * from people").collect.foreach(println)
28
bob

プレーンSQLを使用

JSON、ORC、Parquet、およびCSVファイルを照会できますSpark DataFrameでテーブルを作成せずに。

//This Spark 2.x code you can do the same on sqlContext as well
val spark: SparkSession = SparkSession.builder.master("set_the_master").getOrCreate

spark.sql("select col_A, col_B from parquet.`hdfs://my_hdfs_path/my_db.db/my_table`")
   .show()
20
mrsrinivas