Как создать таблицу поверх папок HDFS с подпапками и несколькими CSV-файлами - PullRequest
0 голосов
/ 04 марта 2020

У нас есть папка hdfs со структурой, подобной /data/year/day/.csvfiles, поэтому у нас есть несколько CSV-файлов, хранящихся в день в папках hdfs, например, /finance/2019/20190101/ multiple csv files. Точно так же будет 365 папок в /finance/2019/ на 365 дней в году. Я хотел бы создать таблицу Hive поверх /finance/2019/, чтобы я мог запрашивать все данные, однако моя таблица создания работает только в том случае, если я указываю указанную папку c, такую ​​как /finance/2019/20190101/, а затем запрос возвращает набор результатов. Если я пытаюсь создать таблицу с местоположением как /finance/2019/, таблица не может извлечь какие-либо данные, и результат всегда равен 0.

1 Ответ

1 голос
/ 04 марта 2020

Чтобы прочитать данные из subdirectories, установите эти свойства!

hive> SET hive.mapred.supports.subdirectories=TRUE;
hive> SET mapred.input.dir.recursive=TRUE;

Попробуйте снова выбрать данные из таблицы улья.


In Если вы не хотите устанавливать эти свойства каждый раз в оболочке куста, добавьте эти свойства в hive-site.xml файл

<property>
    <name>mapred.input.dir.recursive</name>
    <value>true</value>
  </property>

  <property>
    <name>hive.mapred.supports.subdirectories</name>
    <value>true</value>
  </property>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...