Фильтрация таблицы разделов Hive в pyspark - PullRequest
0 голосов
/ 09 октября 2018

У меня есть таблица улья, которая разделена на многие страны.Я хочу загрузить данные конкретного раздела в мой фрейм данных, как показано ниже:

df=spark.read.orc("/apps/hive/warehouse/emp.db/partition_load_table").where('country="NCL"' && 'county="RUS"')

Это дает мне ошибку, хотя я смог загрузить один раздел.

ниже мой каталогструктура в формате hdf

1007 */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 Ответ

0 голосов
/ 09 октября 2018

Не уверен, почему вы не просто запросите таблицу улья напрямую, используя 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...