Я конвертирую запросы оракула sql в hiveql; как конвертировать запросы с ROWID в oracle для улья.обработка ROWID oracle в улей apache
Пример:
select ROWID,
name,
country
from table1
where date = to_date('10/11/2015','mm/dd/yyyy')
Я конвертирую запросы оракула sql в hiveql; как конвертировать запросы с ROWID в oracle для улья.обработка ROWID oracle в улей apache
Пример:
select ROWID,
name,
country
from table1
where date = to_date('10/11/2015','mm/dd/yyyy')
улей не имеет особенность уникального идентификатора каждой строки (ROWID). Но если у вас нет первичного ключа или уникальных значений ключа, вы можете использовать аналитическую функцию row_number.
Hivemall предоставляет функцию rowid()
, которая генерирует уникальный идентификатор для каждой строки. Идентификатор отформатирован как ${task_id}-${sequence_number}
.
https://github.com/myui/hivemall/wiki/Adding-rowid-for-each-row
'ROWID' является расширением Oracle, позволяющий эффективно * * идентификации строки. По своей распределенной природе, с Hive, трудно добиться генерации глобально уникального идентификатора для каждой строки. Думаю, это было бы не очень эффективно. У вас нет первичного или уникального ключа в вашей записи, который можно было бы использовать вместо этого? –