1
以下のコードは、scalaを使用してHDFSに書き込まれた方法です。このデータを照会するHiveテーブルを作成するHQL構文は何ですか?databricksを使用して記述されたAVROファイルからHive Externalテーブルを作成するにはどうすればよいですか?
import com.databricks.spark.avro._
val path = "/user/myself/avrodata"
dataFrame.write.avro(path)
例Iはavro.schema.literalスキーマまたは実際アブロスキーマにavro.schema.urlを説明するために提供する必要が見つけます。スパーク・シェルで
私はこれを読むために行う必要があるでしょう、すべては次のとおりです。
scala> import com.databricks.spark.avro._
scala> val df = sqlContext.read.avro("/user/myself/avrodata")
scala> df.show()
*スパーク・アブロソースコードの状態からのコメントは、「スキーマの進化はまだサポートされていません。ここでは、単一のランダムサンプルファイルを選択する**全体のデータセットのスキーマを把握**」* (https://github.com/databricks/spark-avro/blob/master/src/main/scala/com/databricks/spark/avro/DefaultSource.scala)。 –
ハイブはこのようには動作しません。CREATE時には** AVROスキーマを明示的に**必要とします。しかし、ドキュメンテーション(https://cwiki.apache.org/confluence/display/Hive/AvroSerDe)には、これを行う方法が2つあります:AVROスキーマへのリンク(ローカルファイル/ URLで利用可能)、あたかもそれがテキストファイルであるかのように列を列挙し、ハイブがそのSQLスキーマからAVROスキーマを推測できるようにします。 –