【问题标题】:Need to add auto increment column in a table using hive需要使用 hive 在表中添加自动增量列
【发布时间】:2014-04-15 11:47:06
【问题描述】:

我必须使用 hive 创建一个表。但我想用自动增量列创建该表。

我已经用谷歌搜索但无法找到确切的答案。 如果有人知道它的语法。请分享。

提前致谢。

【问题讨论】:

    标签: hadoop hive hiveql


    【解决方案1】:

    您需要为此使用 UDF(用户定义函数)。我已在此链接中成功使用了 UDF http://svn.apache.org/repos/asf/hive/trunk/contrib/src/java/org/apache/hadoop/hive/contrib/udf/UDFRowSequence.java

    您可以通过this very helpful tutorial进一步了解 UDF 在 Hive 中的使用。

    【讨论】:

    • 如果 UDF 的实例被 garbadged 并实例化了一个新的实例,计数是否会重新为 0?
    • 这在我们选择row_sequence时有效,如何将其作为列添加到新表或现有表中。
    【解决方案2】:
    INSERT INTO TEST_INC SELECT
    reflect("java.util.UUID", "randomUUID"), test1, test2, test3 from TEST;
    

    例如。

    【讨论】:

      【解决方案3】:

      您必须为此编写一个 UDF。看看下面的 Jira 讨论

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

      下载下面的patch文件试试看

      这只能应用于小输入。由于在 reducer 中使用了 UDF row_sequence(),因此 reducer 计数应保持为 1 以保持自增字段不同

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-13
        • 2015-09-19
        • 2021-06-20
        • 1970-01-01
        • 2012-12-11
        • 2020-11-29
        • 2010-11-22
        • 1970-01-01
        相关资源
        最近更新 更多