ORC ファイルを含むディレクトリがあります。以下のコードを使用して DataFrame を作成しています
var data = sqlContext.sql("SELECT * FROM orc.`/directory/containing/orc/files`");
このスキーマでデータフレームを返します
[_col0: int, _col1: bigint]
期待されるスキーマはどこにありますか
[scan_nbr: int, visit_nbr: bigint]
parquet 形式のファイルに対してクエリを実行すると、正しいスキーマが得られます。
構成が不足していますか?
詳細を追加する
これは、Hortonworks ディストリビューション HDP 2.4.2 (Spark 1.6.1、Hadoop 2.7.1、Hive 1.2.1) です。
HDP のデフォルト設定は変更していませんが、これは Hadoop のプレーン バニラ バージョンとまったく同じではありません。
データは、単純な CTAS である上流の Hive ジョブによって書き込まれます (CREATE TABLE サンプル STORED AS ORC as SELECT ...)。
最新の 2.0.0 ハイブを使用して CTAS によって生成されたファイルでこれをテストしました。orc ファイルの列名が保持されます。