hbase导入数据时只导入了一列

hbase导入数据时只导入了一列,第1张

hbase导入数据时只导入了一列,原因是hbase表格中数据只能一列一列的添加。在向HBase的表中添加数据的时候,只能一列一列的添加,不能同时添加多列。同时向HBase的表中导入多列数据,最后会显示只导入了一列。

org.apache.hadoop.hbase.client.BufferedMutator主要用来对HBase的单个表进行 *** 作。它和Put类的作用差不多,但是主要用来实现批量的异步写 *** 作。

可以从Connection的实例中获取BufferedMutator的实例。在使用完成后需要调用close()方法关闭连接。对BufferedMutator进行配置需要通过BufferedMutatorParams完成。

BufferedMutator接收发送来的Put数据后,会根据某些因素(比如接收的Put数据的总量)启发式地执行Batch Put *** 作,且会异步的提交Batch Put请求。

BufferedMutator也可以用在一些特殊的情况上。多线程作业的每个线程将会拥有一个独立的BufferedMutator对象。

一个独立的BufferedMutator也可以用在大容量的在线系统上来执行批量Put *** 作,但是这时需要注意一些极端情况比如JVM异常或机器故障,此时有可能造成数据丢失。

官方源码路径: https://github.com/apache/hbase/blob/master/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/BufferedMutatorExample.java

两种方式:一,建立一个hive和hbase公用的表,这样可以使用hive *** 作hbase的表,但是插入数据较慢,不建议这样做。 二,手写mapreduce,把hive里面的数据转换为hfile,然后倒入。hbase的mapreduce接口里面好像也有对应的api可以直接导入的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11231505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存