1. ホーム
  2. scala

[解決済み] SparkSQL - パーケットファイルを直接読み込む

2022-03-04 19:49:58

質問

私は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'

解決方法は?

パーケットファイルからDataframeを作成した後、それをtempテーブルとして登録して実行する必要があります。 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)