Rocky
Rocky

Reputation: 309

Need to add auto increment column in a table using hive

I have to create a table using hive. But I want to create that table with auto increment column.

i have googled but not able to find the exact answer. If Anybody knows the syntax for it . Please share it.

thanks in advance.

Upvotes: 5

Views: 24420

Answers (3)

yazabara
yazabara

Reputation: 1353

INSERT INTO TEST_INC SELECT
reflect("java.util.UUID", "randomUUID"), test1, test2, test3 from TEST;

for example.

Upvotes: 3

Hussnain
Hussnain

Reputation: 186

You need to use a UDF (user defined function) for it. I have successfully used the UDF in this link http://svn.apache.org/repos/asf/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/udf/UDFRowSequence.java

Further you can learn the use of UDF in hive by this very helpful tutorial.

Upvotes: 5

SachinJose
SachinJose

Reputation: 8522

You got to write a UDF for this purpose. Take a look at the following Jira discussion

https://issues.apache.org/jira/browse/HIVE-1304.

Download the following patch file and try it

This can be applied only for small input. Since the UDF row_sequence() is used in the reducer and the reducer count should be kept 1 inorder to keep the autoincrement field distinct

Upvotes: 1

Related Questions