1

以下のコードは、scala を使用して HDFS に書き込んだ方法です。このデータを照会するための Hive テーブルを作成するための HQL 構文は何ですか?

import com.databricks.spark.avro._
val path = "/user/myself/avrodata"
dataFrame.write.avro(path)

私が見つけた例では、スキーマを記述する avro.schema.literal または実際のavroスキーマへのavro.schema.urlを提供する必要があります。

スパークシェルでこれを読むために必要なことは次のとおりです。

scala> import com.databricks.spark.avro._
scala> val df = sqlContext.read.avro("/user/myself/avrodata")
scala> df.show()
4

1 に答える 1

0

だから私はこれを機能させるためにだましました。基本的に、一時テーブルを作成し、HQL を使用して一時テーブルからデータを作成および挿入しました。このメソッドは、一時テーブルのメタデータを使用して、作成して入力したい avro ターゲット テーブルを作成します。データ フレームがそのスキーマから一時テーブルを作成できる場合、テーブルを avro として保存できないのはなぜですか?

dataFrame.registerTempTable("my_tmp_table")
sqlContext.sql(s"create table ${schema}.${tableName} stored as avro as select * from ${tmptbl}")
于 2016-08-21T16:59:38.810 に答える