知识点
相关文章
更多最近更新
更多HDFS导出数据到HBase的ROW VALUE设置tricks
2019-03-28 13:21|来源: 网络
在做Hadoop的编程时,有时会用到HBase,常常涉及到把HDFS上面的数据导入到HBase中,在这个操作中,row的设置比较重要,如果几条记录的row值一样,同时列簇也一样的话,那么后面的数据就会覆盖前面的数据,比如这样:
比如现在有这样的一个操作:
我要把下面的数据导入HBase:
- 1,101,5.0
- 1,102,3.0
- 1,103,2.5
- 2,101,2.0
- 2,102,2.5
- 2,103,5.0
- 2,104,2.0
- 3,101,2.5
- 3,104,4.0
- 3,105,4.5
- 3,107,5.0
- 4,101,5.0
- 4,103,3.0
- 4,104,4.5
- 4,106,4.0
- 5,101,4.0
- 5,102,3.0
- 5,103,2.0
- 5,104,4.0
- 5,105,3.5
- 5,106,4.0
如果拿第一列作为row值的话,那么最终导入的数据只有5条记录的信息了,如何才能把这21条记录全部导入HBase呢
第一个想法,把文件偏移值作为一条记录的row,这样每条记录的row就都不同了,这样可以,但是当文件偏大的时候,这样存储就会存在问题,而且row值之间相差很大,如果可以做到row是按照1递增的话,那么就可以减少很多数据了。
相关问答
更多-
hbase数据在hadoop hdfs中的存储位置[2023-07-14]
/hbase目录下 -
如何通过hdfs(hadoop命令)导入/导出hbase数据(How to import/export hbase data via hdfs (hadoop commands))[2022-05-26]
如果要从一个hbase群集导出表并将其导入另一个群集,请使用以下任一方法: 使用Hadoop 出口 $ bin/hadoop jarexport \ [ [ [ ]] 注意:将hdfs中的输出目录从源复制到目标群集 进口 $ bin/hadoop jar import < ... -
默认情况下,HBase会选择复制因子3.要指定复制因子,请在hbase-site.xml中添加以下属性
dfs.replication 1 -
在makeDirOnFileSystem中结合HBase和HDFS导致异常(Combining HBase and HDFS results in Exception in makeDirOnFileSystem)[2022-09-25]
所有你需要知道的是在堆栈跟踪的这一行: 导致:org.apache.hadoop.security.AccessControlException:权限被拒绝:user = hbase,access = WRITE,inode =“/”:vagrant:supergroup:drwxr-xr-x 用户hbase没有权限写入HDFS根目录( / ),因为它属于vargrant并被设置为只允许所有者写入。 使用hadoop fs -chmod来修改权限。 编辑: 您也可以成功创建目录/hbase并将hbase用户 ... -
你需要保留所有数据: out = strided(x,shape=(x.size-L+1,L),strides=(n,n)) 对于 [[2 3 1] [3 1 0]] strided不检查访问是否在范围内,因此如果出现错误,一切都会发生。 you need to keep all the data : out = strided(x,shape=(x.size-L+1,L),strides=(n,n)) For [[2 3 1] [3 1 0]] strided don't check that ...
-
是的,它会将导入数据的副本存储在HDFS中(如StoreFiles / HFiles),因为HBase只能使用自己的文件集进行操作。 也许你会发现这个很好的概述很有趣。 您可以直接使用存储在HDFS中的数据进行操作,而无需使用EXTERNAL HIVE表将其导入HBase: CREATE EXTERNAL TABLE page_view(viewTime INT, userid BIGINT, page_url STRING, referrer_url STRING, ip STRING ...
-
HDFS只是一个分布式文件系统,如果不通过中间组件,则无法查询文件。 Hbase是一个nosql数据库,可以将数据保存在HDFS上,当您需要随机访问数据时使用它。 如果要将文件按原样存储在HDFS上并进行查询,可以使用Hive在其上创建外部表。 HDFS is just a distributed file system, you cannot query your files without passing by an intermidiate component. Hbase is a nosql da ...
-
1)在HBASE之上将Spark分层而不是仅使用HBASE带来了哪些附加功能? 它只取决于程序员的能力,还是有任何性能原因可以做到这一点? Spark有什么东西可以做,HBASE完全不能做? 在Splice Machine,我们使用Spark在HBase之上进行分析。 HBase没有执行引擎,spark在HBase(中级结果,关系代数等)之上提供了一个称职的执行引擎。 HBase是一个MVCC存储结构,Spark是一个执行引擎。 它们是彼此的天然补充。 2)从上一个问题出发,何时应该在HDFS和SPARK之 ...
-
在${base.rootdir}/data我们有与名称空间和表名相关的子目录。 例如,假设我们在hbase-site.xml有这个配置
hbase.rootdir hdfs://hadoop:8020/apps/hbase -
Sqoop的直接连接器通常不支持HBase,这绝对是MySQL直连接头的情况。 如果需要将数据导入HBase,则应删除--direct选项。 Sqoop's direct connectors usually do not support HBase and this is definitely the case for MySQL direct connector. You should drop the --direct option if you need import data into HBase ...