[英]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.