【问题标题】:Hive INSERT INTO HBase - Possible key generation?Hive INSERT INTO HBase - 可能的密钥生成?
【发布时间】:2015-06-24 15:34:51
【问题描述】:

我一直在尝试通过 Hive 将 .csv 文件导入 HBase,以避免在 java 中编写 Bulk Load 程序。我已经设法将整个 .csv(数十亿行)加载到 Hive 中,并且因为我在使用 Hbase 时遇到了一些问题,所以我尝试只导入前 10 行,然后再导入其余行。

问题是,.csv 文件的每一行都没有唯一的值来分配为 HBase 所需的 HBase 表键。这导致 INSERT OVERWRITE 仅插入 10 行的最后一行,因为我最初定义为键的列在所有 10 行中包含相同的值(但在整个文件中并非如此)

Hive / Hbase 有没有办法生成具有递增整数/浮点数/任何其他类型的键列?

【问题讨论】:

  • 所以你不想设计行键,并且想要 Hbase 的自动增量功能?但是,当您使用行键搜索时,您会松开为更快检索而提供的缓冲。希望你知道
  • @Ramzy 我现在正在研究行设计主题,我明白你的意思,即使我是操纵大数据的新手。我想我至少了解行键如何影响读取/写入的性能,即使我不知道如何配置生成。但是现在我和我的团队只想测试我们设置的存储部分,我们离生产问题还很远。当我们知道我们可以安全地存储和读取数据时,我们会更详细地调查性能问题。

标签: hadoop hive key hbase generator


【解决方案1】:

我看到了几种解决方案:

  • hive hbase 集成支持复合主键
  • concat_ws(列)
  • reflect("java.util.UUID", "randomUUID")
  • sha1(concat_ws(columns)) #可能导致冲突

https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration#HBaseIntegration-SimpleCompositeRowKeys

【讨论】:

    猜你喜欢
    • 2018-06-15
    • 2015-03-06
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多