gpt4 book ai didi

hadoop - 如何将表从HBase转移到Hive?

转载 作者:行者123 更新时间:2023-12-02 20:01:28 26 4
gpt4 key购买 nike

如何将HBase表正确转移到Hive?

我之前尝试过的内容可以读到这个问题吗
How insert overwrite table in hive with diffrent where clauses?
(我制作了一个表来导入所有数据。这里的问题是数据仍然是行而不是列。因此,我用特定的where子句制作了3个新闻,社交和所有表。之后,在表格,这给了我结果表。所以我总共有6个表格,这并不是真正的表现!)

总结一下我的问题:在HBase中,列族被保存为这样的行。

count   verpassen   news    1
count verpassen social 0
count verpassen all 1

我想要在Hive中实现的是这样的数据结构:
name      news    social   all
verpassen 1 0 1

我应该怎么做?

最佳答案

下面是使用方法可以使用的方法。

使用HBase存储处理程序在Hive中创建表

示例脚本

CREATE TABLE hbase_table_1(key string, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,f1:val") TBLPROPERTIES ("hbase.table.name" = "test");



我将您提供的样本数据加载到配置单元外部表中。

enter image description here

select name,collect_set(concat_ws(',',type,val)) input from TESTTABLE group by name ;



我正在按名称分组数据。上述查询的结果输出将是
enter image description here

现在,我编写了一个自定义映射器,该映射器将输入作为输入参数并发出值。

from (select '["all,1","social,0","news,1"]' input from TESTTABLE group by name) d MAP d.input Using 'python test.py' as all,social,news



enter image description here

或者,您可以使用输出插入列名称为name,all,social,news的另一个表中

希望这可以帮助

关于hadoop - 如何将表从HBase转移到Hive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33440186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com