我必须做一些特别的事情才能用 Spark 读取 Orc 表吗?
我在 txt 和 orc 中有两个表格副本。读取 txt 表时一切正常。读取兽人表时,我没有收到任何错误,但 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)
更新:
如果我指定存储在 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 ")