HBase 与 Sqoop 兼容性

HBase Vs Sqoop Compatibility

我正在使用安装在亚马逊上的 HBase version 1.3.1 并尝试使用 Sqoop ver. "import" 我的 MSSQL RDBMS 数据库到 HDFS。 1.4.6。 不幸的是试验没有成功。 Sqoop 1.4.6 版本是否与 HBase 1.3.1 兼容?会导入成功吗?

以下是我用来导入 MSSQL 数据库的命令 "version 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 

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


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


请注意 1、bindir是sqoop"bin"目录所在的目录 2. 目标目录 是源table 数据将be/is 存储的地方。 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 导入命令中的目标目录。

注意:献给关注 post 以上实用性的工程师