我有一个蜂巢表,在许多国家/地区都有分布。我想将特定的分区数据加载到我的数据框中,如下所示:
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"')
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)