2017-02-17 41 views
0

Я хочу добавить уникальное значение в таблицу hive, когда я вхожу в какую-либо запись, это значение не должно повторяться во всей таблице улья. Я не могу найти никаких решений или каких-либо функций для этого. В моем случае я хочу ввести запись в улей с помощью свиньи latin. Пожалуйста помоги.Добавить уникальное значение в таблице hive

+0

Сколько у вас контроля над вставками? знаете ли вы максимальный размер партии? –

+0

@DuduMarkovitz за один раз я paarsing только один файл. – animal

+0

Любые причины не использовать 'row_number() over()'? –

ответ

0

HIVE не предоставляет базу данных РСУБД, такую ​​как ограничения.

Предлагаемый подход с использованием PIG Script представлен ниже. 1. Загрузить данные 2. Применить DISTINCT к данным 3. Хранить данные в месте 4. Создавать таблицу внешнего улья в том же месте.

Шаг 3 и 4 можно комбинировать, если вы можете использовать HCATALOG, который позволяет вам напрямую хранить данные в таблице Hive.

Официальная документация: Link 1link 2

+0

вы можете поделиться ссылкой? – animal

+0

[1]: https://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#DISTINCT [2]: https://hive.apache.org/javadocs/hcat-r0.5.0/loadstore .html –

+0

Как это относится к запросу OP? –

0

вы посмотрите на это? https://github.com/manojkumarvohra/hive-hilo, как представляется, обеспечивает способ генерации порядковых номеров в улье с использованием алгоритма hi/lo

+0

Можете ли вы привести примеры? Это поможет мне лучше понять это. – animal