我是否必须做一些特别的事情才能用Spark阅读Orc表?
我在txt和orc中有两个表副本。读取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)
更新
如果我指定存储在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 :(得分:0)
您可以尝试在表名之前添加数据库名称作为a.table_name
答案 1 :(得分:0)
我认为ORC没有任何具体内容。你可以在配置单元上运行查询并确保正确读取数据。空表可能是因为配置单元无法按照您定义的方式读取数据。