我知道 Sqoop 允许我们将数据从 RDBMS 导入 HDFS。我想知道 sqoop 中的 sql server 连接器是否也允许我们直接将其导入 HBase?我知道我们可以用 mysql 做到这一点。我想知道sql server是否也可以这样做
3 回答
我在 Hortonworks Sandbox 中工作,通过执行以下步骤,我能够将数据从 SQL Server 实例提取到 HBase 表中:
- 将 SQL Server JDBC 驱动程序安装到 Hadoop 盒中。
curl -L 'http://download.microsoft.com/download/0/2/A/02AAE597-3865-456C-AE7F-613F99F850A8/sqljdbc_4.0.2206.100_enu.tar.gz' | tar xz
- 将驱动程序复制到正确的位置,以便 sqoop 能够找到它:
cp sqljdbc_4.0/enu/sqljdbc4.jar /usr/lib/sqoop/lib
- 运行 sqoop 导入
sqoop import --hbase-create-table --hbase-table table_name_in_hbase --column-family cf_name --hbase-row-key my_ID --connect "jdbc:sqlserver://hostname:1433;database=db_name;username=sqoop;password=???" --table tablename_in_sql_server -m 1
我参考了这些网站:
http://hortonworks.com/hadoop-tutorial/import-microsoft-sql-server-hortonworks-sandbox-using-sqoop/
http://souravgulati.webs.com/apps/forums/topics/show/8680714-sqoop-import-data-from-mysql-to-hbase
可以使用 Sqoop 从任何关系数据库直接将数据导入 HBase。这篇文章如何使用 Mysql 数据库服务器完成并将其直接导入 HBase。
您可以将数据从任何 RDBMS 导入 HBase,因为它提供 JDBC 驱动程序。Sqoop 与任何其他 RDBMS 的接口都使用 JDBC。