В Hive "Load data local inpath" перезаписывает существующие данные или добавляет? - PullRequest
5 голосов
/ 05 апреля 2011

Я надеюсь запустить импорт в Hive на cron, и надеялся просто использовать

"загрузить локальный путь к данным / tmp / data / x 'в таблицу X" в таблицу..

Будут ли последующие команды перезаписывать то, что уже есть в таблице?или он добавится?

Ответы [ 2 ]

6 голосов
/ 05 апреля 2011

Этот сайт http://wiki.apache.org/hadoop/Hive/LanguageManual ваш друг при работе с Hive.:)

Страница, которая обращается к загрузке данных в Hive: http://wiki.apache.org/hadoop/Hive/LanguageManual/DML На этой странице указано, что

, если используется ключевое слово OVERWRITE, то содержимое целевой таблицы (или раздел) будет удален и заменен файлами, указанными в filepath.В противном случае файлы, на которые указывает filepath, будут добавлены в таблицу.Обратите внимание, что если в целевой таблице (или разделе) уже есть файл, имя которого совпадает с любым из имен файлов, содержащихся в filepath - тогда существующий файл будет заменен новым файлом.

В вашем случае, вы не используете ключевое слово OVERWRITE, поэтому файлы будут добавлены в таблицу.(Если они не являются одинаковыми файлами, в этом случае они перезаписываются)

0 голосов
/ 15 июля 2014

Если используется ключевое слово OVERWRITE, то содержимое целевой таблицы (или раздела) будет удалено и заменено файлами, на которые ссылается filepath; в противном случае файлы, на которые указывает filepath, будут добавлены в таблицу.

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