2016-09-13 24 views
1

をオークテーブルを読み取ることができない私は、Sparkとオークのテーブルを読むことができるように特別な何かをする必要がありますか?スパークは、(空のテーブルを返します)

私はTXTやオークで2つのテーブルのコピーを持っています。 txtテーブルを読むときは、すべてが大丈夫です。 orcテーブルを読むときはエラーは出ませんが、sparkは空のテーブルを返します。ここで

はPythonで私のコードです:

import pyspark 
CONF = (pyspark.SparkConf().setMaster("yarn-client")) 
sc = pyspark.SparkContext(conf = CONF) 

from pyspark.sql import HiveContext 

sq = HiveContext(sc) 
df = sq.sql(""" select * from sample_07 """) 

print df.show(10) 

UPDATE:私はsample_07に格納されたデータへのパスを指定し、一時テーブルとして登録した場合

、それはしかし動作します:

sq = HiveContext(sc) 
orcFile = sq.read.format("orc").load("/user/some/sample_07/") 
orcFile.registerTempTable("tempTableName"); 
df = sq.sql("SELECT * FROM tempTableName LIMIT 10 ") 

答えて

0

あなたはa.table_name

ように、テーブル名の前にデータベース名を追加してみてくださいすることができ210
+0

はい、私はそれを試してみました。それは何の違いもありません – facha

0

私はORCに固有のものはないと思います。ハイブでクエリを実行し、データが正しく読み込まれるようにすることができます。空のテーブルは、ハイブが定義した方法でデータを読み取ることができない可能性があります。

関連する問題