0

我有一个在许多国家/地区分区的蜂巢表。我想将特定的分区数据加载到我的数据框中,如下所示:

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"')
4

1 回答 1

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)

于 2018-10-09T14:51:31.403 回答