`
flylynne
  • 浏览: 373650 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hadoop数据迁移:使用importtsv两步载入数据

阅读更多

importtsv工作:
该工具是HBase提供的一个将HDFS数据转化为HBase数据库数据的一个工具。
其实现过程是,先将HDFS文件转复制并转化为HFile文件,然后将HFile移动并加载成为HBase的数据文件。

两步数据导入:
它是指利用importtsv工具将HDFS数据直接转换为HBase表数据。
该过程分为两步完成,第一步是将HDFS上的数据复制并转化为HFile文件,第二步是将HFile数据移动到HBase数据目录。

当数据量较大时,可以考虑使用两步数据导入的方式。
两步导入时,由于是先生成文件,再复制文件进入HBase表,对于HBase读取的性能影响较小,不会出现较大的读取时间波动。 
两步导入时,时间上要节约三分之二,等于效率提高60%~70%,map的处理时间较短,只有一个reduce。独步导入时,map处理时间较长,没有reduce。
由于hadoop集群在配置时,一般会有较多的最大map数设置,较少的最大reduce数设置,那么这种两步导入方式也在一定程度上提升了hadoop集群并发能力

 

第一步转换HFile文件:
基本命令:hadoop jar /opt/hbase/hbase-0.94.4/hbase-0.94.4.jar importtsv 选项:'-Dimporttsv.separator=,' -Dimporttsv.bulk.output=/hadoop/hfileout -Dimporttsv.columns=HBASE_ROW_KEY,f1:c1,f1:c2,f2:c3  xtab /user/hadoop/in6 '-Dimporttsv.separator=,'表示HDFS数据各列之间使用“,”作为分隔符。
-Dimporttsv.bulk.output=/hadoop/hfileout表示生成HFile文件,其文件路径为/hadoop/hfileout。 -Dimporttsv.columns=HBASE_ROW_KEY,f1:c1,f1:c2,f2:c3  xtab /user/hadoop/in6
表示将源HDFS数据拆分为HBASE_ROW_KEY,f1:c1,f1:c2,f2:c3这四列,xtab表示插入到HBase的目标表,/user/hadoop/in6表示数据在HDFS上的路径。 
第二步加载HFile文件:
$ hadoop jar /opt/hbase/hbase-0.94.4/hbase-0.94.4.jar completebulkload /hadoop/hfileout xtab 它表示将第一步生成的HFile文件/hadoop/hfileout加载到xtab中。 或者使用:
$ hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /hadoop/hfileout xtab 可能会出现异常信息:
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: The value of the hbase.metrics.showTableName conf option has not been specified in SchemaMetrics 则需要使用载入HBase的开发程序载入数据。  示例:
$ hadoop jar /opt/hbase/hbase-0.94.4/hbase-0.94.4.jar importtsv '-Dimporttsv.separator=,'

第一步转换HFile文件:
基本命令:hadoop jar /opt/hbase/hbase-0.94.4/hbase-0.94.4.jar importtsv 选项:'-Dimporttsv.separator=,' -Dimporttsv.bulk.output=/hadoop/hfileout -Dimporttsv.columns=HBASE_ROW_KEY,f1:c1,f1:c2,f2:c3  xtab /user/hadoop/in6 '-Dimporttsv.separator=,'表示HDFS数据各列之间使用“,”作为分隔符。
-Dimporttsv.bulk.output=/hadoop/hfileout表示生成HFile文件,其文件路径为/hadoop/hfileout。 -Dimporttsv.columns=HBASE_ROW_KEY,f1:c1,f1:c2,f2:c3  xtab /user/hadoop/in6
表示将源HDFS数据拆分为HBASE_ROW_KEY,f1:c1,f1:c2,f2:c3这四列,xtab表示插入到HBase的目标表,/user/hadoop/in6表示数据在HDFS上的路径。 
第二步加载HFile文件:
$ hadoop jar /opt/hbase/hbase-0.94.4/hbase-0.94.4.jar completebulkload /hadoop/hfileout xtab 它表示将第一步生成的HFile文件/hadoop/hfileout加载到xtab中。 或者使用:
$ hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /hadoop/hfileout xtab 可能会出现异常信息:
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: The value of the hbase.metrics.showTableName conf option has not been specified in SchemaMetrics 则需要使用载入HBase的开发程序载入数据。  示例:
$ hadoop jar /opt/hbase/hbase-0.94.4/hbase-0.94.4.jar importtsv '-Dimporttsv.separator=,'

分享到:
评论

相关推荐

    Hadoop数据迁移--使用importtsv两步载入数据

    总之,使用importtsv工具进行Hadoop数据迁移,可以通过两步载入的方式高效地将大规模数据从HDFS导入到HBase数据库中,这一过程既考虑到了数据处理的效率,也照顾到了系统性能的稳定性,是处理大规模数据迁移的推荐...

    Hadoop数据迁移--使用importtsv独步载入数据

    Hadoop数据迁移是大数据处理中的一个...使用importtsv工具可以将HDFS中的数据直接迁移到HBase中,这种工具在数据量不大时能够快速完成任务,但在面对大规模数据时,需要权衡资源使用情况,选择更为合理的数据迁移策略。

    Hadoop数据迁移--从Oracle向Hadoop

    在执行Hadoop数据迁移时,Hadoop集群中的MapReduce作业会利用JDBC驱动与Oracle数据库建立连接,通过执行SQL查询来检索数据,并使用Hadoop的序列化机制将数据写入到HDFS。这样,Oracle中的数据就成功地迁移到了Hadoop...

    Hadoop数据迁移--从Hadoop向Oracle

    Hadoop数据迁移是指将存储在Hadoop分布式文件系统(HDFS)中的数据迁移到其他数据存储系统的过程。在本例中,数据迁移的目标系统是Oracle数据库。为了实现这种迁移,我们通常使用MapReduce编程模型,它允许Hadoop...

    Hadoop数据迁移--从Hadoop向HBase载入数据

    在Hadoop数据迁移过程中,从Hadoop向HBase载入数据是常见的操作。 数据迁移主要分为两个步骤: 第一步骤:将Hadoop中普通文本格式的数据转化为HFile文件。HFile是HBase中的存储格式文件,它可以被HBase识别和读取...

    Hadoop数据迁移--从Oracle向Hadoop.zip

    标题中的“Hadoop数据迁移--从Oracle向Hadoop”指的是将传统的Oracle数据库中的数据迁移到分布式计算框架Hadoop中。这个过程通常涉及到大量的数据处理和转换,以适应Hadoop的存储和处理方式。Hadoop主要由HDFS...

    Hadoop和Kerberos:超越大门的疯狂Hadoop and Kerberos: The Madness Beyond the Gate

    通过使用Kerberos进行认证和授权,Hadoop能够有效地管理和控制对敏感数据的访问,这对于金融、医疗健康等行业尤为重要。未来,随着技术的发展和应用场景的扩展,Hadoop与Kerberos的集成将会发挥更加重要的作用。

    hadoop&spark:Hive是一个基于Hadoop的数据仓库平台.zip

    hadoop&spark:Hive是一个基于Hadoop的数据仓库平台.zip

    Hadoop数据迁移--从Hadoop向HBase

    具体到从Hadoop向HBase的数据迁移中,Map任务会读取HDFS中的文件,使用自定义的Mapper类对每一行数据进行解析,提取出关键信息,如行键(row key)、列族(column family)、列限定符(column qualifier)和值...

    Hadoop技术内幕 深入理解MapReduce架构设计与实现原理 高清完整中文版PDF下载

    Hadoop是一个开放源代码的分布式计算框架,它能够处理大量的数据集,并通过集群提供高性能的数据处理能力。随着大数据时代的到来,Hadoop成为了众多企业和组织处理海量数据的关键工具。其中,MapReduce作为Hadoop的...

    Hadoop守护者:NameNode与DataNode故障恢复全攻略

    Hadoop是一个开源框架,由Apache软件基金会开发,用于在普通硬件集群上存储和处理大量数据。它的核心组件包括: 1. **Hadoop Distributed File System (HDFS)** - 一个分布式文件系统,设计用于在多个服务器上存储...

    解锁Hadoop之谜:集群命令失效与jps无响应深度剖析

    Hadoop是一个开源框架,由Apache软件基金会开发,用于在普通硬件集群上存储和处理大量数据。它的核心组件包括: 1. **Hadoop Distributed File System (HDFS)** - 一个分布式文件系统,设计用于在多个服务器上存储...

    数据算法:Hadoop/Spark大数据处理技巧

    数据算法:Hadoop/Spark大数据处理技巧

    Hadoop权威指南.大数据的存储与分析.第4版.修订版&升级版

    Spark是快速、通用和可扩展的数据处理引擎,它支持批处理、交互式查询和实时流处理,常与Hadoop配合使用。 除此之外,Hadoop的第4版可能涵盖了HBase,这是一个分布式、面向列的NoSQL数据库,适用于实时读取大数据;...

    Hadoop海量数据处理:技术详解与项目实战 pdf

    通过HDFS和MapReduce两大核心技术,Hadoop能够轻松应对PB级数据的存储和处理挑战。对于那些希望利用大数据提升业务价值的企业而言,掌握Hadoop的相关技术和实践是非常必要的。 以上内容涵盖了Hadoop的基本概念和...

    hadoop-lzo-0.4.21-SNAPSHOT jars

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。而Hadoop-LZO则是针对Hadoop优化的一种数据压缩库,旨在提高HDFS(Hadoop Distributed File System)上的数据压缩效率和读写...

    Hadoop分布式系统:系统设计与架构

    - **数据分析**:Hadoop可以用于处理和分析大量结构化或非结构化的数据,帮助企业和组织从数据中提取有价值的信息。 - **搜索引擎**:许多搜索引擎利用Hadoop进行网页抓取、索引构建和搜索结果排序等任务。 - **...

    数据算法: Hadoop+Spark大数据处理技巧.pdf

    《数据算法:Hadoop+Spark大数据处理技巧》是一本深入探讨大数据处理技术的专业书籍,主要聚焦于两大主流的大数据处理框架——Hadoop和Spark。这本书不仅涵盖了基础理论,还提供了丰富的实践指导,对于想要深入了解...

    使用hadoop进行数据分析

    安装Hadoop:在集群上安装Hadoop,并配置HDFS(Hadoop Distributed FileSystem)和YARN(Yet Another Resource Negotiator)。 安装其他组件(可选):根据你的需求,安装Hive、HBase、Spark、Flink等Hadoop生态系统...

    Hadoop构建数据仓库实践1_hadoop_

    在大数据处理领域,Hadoop是一个不可或缺的关键工具,它以其分布式计算框架著称,为企业和组织提供了海量数据存储和处理的能力。本实践指南将深入探讨如何利用Hadoop来构建高效的数据仓库系统,以此来提升数据分析的...

Global site tag (gtag.js) - Google Analytics