【问题标题】:Add unique value in hive table在 hive 表中添加唯一值
【发布时间】:2017-02-17 10:38:31
【问题描述】:

我想在输入任何记录时向我的 hive 表添加一个唯一值,该值不应在整个 hive 表中重复。我无法为此找到任何解决方案或任何功能。就我而言,我想使用 pig 拉丁文在 hive 中输入记录。请帮忙。

【问题讨论】:

  • 您对插入有多少控制权?你知道最大批量大小吗?
  • @DuduMarkovitz 一次我只解析一个文件。
  • 有什么理由不使用row_number () over ()
  • @DuduMarkovitz 我正在使用 pig 将数据插入蜂巢。我如何在猪脚本中使用row_number()
  • 检查 DISTINCT 子句。下面的链接可能会有所帮助。 stackoverflow.com/questions/7401543/…

标签: hive apache-pig auto-increment


【解决方案1】:

HIVE 不提供类似 RDBMS 数据库的约束。

使用 PIG 脚本的建议方法如下。 1.加载数据 2. 对数据应用 DISTINCT 3. 将数据存储在某个位置 4. 在同一位置创建外部配置单元表。

如果您可以使用 HCATALOG,可以将第 3 步和第 4 步结合起来,这样您就可以将数据直接存储在 Hive 表中。

官方文档:Link 1link 2

【讨论】:

【解决方案2】:

你看过这个吗? https://github.com/manojkumarvohra/hive-hilo 它似乎提供了一种使用 hi/lo 算法在 hive 中生成序列号的方法

【讨论】:

  • 你能提供任何例子吗?这将有助于我更好地理解它。
猜你喜欢
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 2021-01-23
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
相关资源
最近更新 更多