簡體   English   中英

在pyspark中過濾Hive分區表

[英]Filtering Hive partition table in pyspark

我有一個蜂巢表,在許多國家/地區都有分布。 我想將特定的分區數據加載到我的數據框中,如下所示:

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

不知道為什么不只使用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM