【问题标题】:HBase Vs Sqoop CompatibilityHBase 与 Sqoop 的兼容性
【发布时间】:2018-01-08 11:30:25
【问题描述】:

我正在使用安装在亚马逊上的HBase version 1.3.1,并试图使用 Sqoop 版本将我的 MSSQL RDBMS 数据库“导入”到 HDFS。 1.4.6。 不幸的是,试验没有成功。 Sqoop 1.4.6 版是否与 HBase 1.3.1 兼容?它会成功执行导入吗?

以下是我用来导入 MSSQL DB“版本 1.4.6”的命令

sqoop-import --connect "jdbc:sqlserver://SMSSQLDBSerevrname:Port; database=DBName;" 
--username MSSQLDBUserName --P 
--table MSSQLTableName 
--hbase-table HBaseTableName 
--column-family MyColFamilyName 
--hbase-row-key MSSQLTablePrimaryId 

【问题讨论】:

  • 是否要将 RDBMS 数据加载到 HBase 中?您的命令部分适用于 rdbms 到 hbase,请检查:stackoverflow.com/questions/16272422/…
  • 您好阿尼尔,感谢您的意见。我完全按照您推荐我的帖子中的描述尝试了 Sqoop 导入命令,请在我的下一篇帖子中查看输出
  • 但是,输出是:线程“main”中的异常 java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)V在 org.apache.sqoop.mapreduce.HBaseImportJob.jobSetup(HBaseImportJob.java:222)....你的建议..?

标签: hadoop import hbase sqoop


【解决方案1】:

嗯..HBase jar 文件中存在冲突的主要问题,解决方案是添加指令以使用 Sqoop bin 目录,因此我在上面记录的命令结构中添加了以下内容:


--bindir /usr/lib/sqoop/
--target-dir /usr/lib/sqoop/bin/tempd8/media
-详细


请注意 1、bindir是sqoop“bin”目录所在的目录 2. target-dir 是存储源表数据的位置。 3. -verbose只是为了提供更多的调试信息。

我还遇到了内存管理问题,我可以通过以下链接解决这些问题: https://community.cloudera.com/t5/Data-Ingestion-Integration/jpb-submitted-to-mapreduce-in-Yarn-is-stuck-while-ingesting-data/td-p/57410/page/2 https://community.cloudera.com/t5/Cloudera-Manager-Installation/Map-Reduce-Jobs-not-starting-on-local-CDH-5-7-0-installation/td-p/39563

============要验证 sqoop 导入运行以下命令 转到 /usr/lib/hadoop/ 目录 hadoop fs -cat /usr/lib/sqoop/bin/tempd8/media/part-m-* 其中“/usr/lib/sqoop/bin/tempd8/media”是您在 sqoop 导入命令中的目标目录。

注意:献给关心以上帖子有用性的工程师

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多