我有一个配置单元表,该配置表在许多国家/地区都有分区。我想将特定的分区数据加载到我的数据框中,如下所示:
df=spark.read.orc("/apps/hive/warehouse/emp.db/partition_load_table").where('country="NCL"' && 'county="RUS"')
这给我一个错误,尽管我能够为单个分区加载。
下面是我在hdfs中的目录结构
/apps/hive/warehouse/emp.db/partition_load_table/country=NCL
df=spark.read.orc("/apps/hive/warehouse/emp.db/partition_load_table").where('country="NCL"')
答案 0 :(得分:1)
不确定为什么不只使用HQLContext直接查询配置单元表:
spark.sql("select * from partition_load_table where country in ('NCL', 'RUS')")
如果由于某些原因不可用,则可以联合基础配置单元分区。 首先将它们作为单独的数据框和联合读取。像这样:
rus = spark.read.orc("/apps/hive/warehouse/emp.db/partition_load_table/country=rus")
ncl = spark.read.orc("/apps/hive/warehouse/emp.db/partition_load_table/country=ncl")
df = rus.union(ncl)