2

我已经安装了hadoop、hive、sqoop。我将表从我的数据库导入到 hdfs 但无法将其导入配置单元。我需要在 hive 中配置任何文件吗?此外,当我浏览网页时,会显示 MySQL 的配置,但我使用的是驱动程序 jdbc:sqlserver。任何人都请帮助我,因为我坚持了很多天。

4

5 回答 5

3

jdbc:mysql 用于 mysql,它不适用于 sqlserver,我尝试使用它,但它给出了错误。我试过下面的命令,效果很好。

命令——导入

将数据从数据库表复制到 HDFS 文件系统

在下面的示例中,我们的数据库和 hdfs 配置为:

  • 服务器名称:-labDB
  • 数据库名称:- 演示
  • SQL 用户名:- sqoop
  • SQL 密码:- simp1e
  • 驱动程序类名称:- com.microsoft.sqlserver.jdbc.SQLServerDriver
  • 表:- dbo.customers
  • 目标目录:/tmp/dbo-customer(HDFS 文件夹名称)

句法:

  sqoop import --connect jdbc:sqlserver://sqlserver-name \
      --username <username> \
      --password <password> \
      --driver   <driver-manager-class> \
      --table    <table-name> \
      --target-dir  <target-folder-name>

样本:

  sqoop import --connect "jdbc:sqlserver://labDB;database=demo" \
       --username sqoop  \
       --password simp1e \
       --driver   com.microsoft.sqlserver.jdbc.SQLServerDriver \
       --table    "dbo.customer" \
       --target-dir  "/tmp/dbo-customer"

https://danieladeniji.wordpress.com/2013/05/06/hadoop-sqoop-importing-data-from-microsoft-sql-server/

于 2016-08-08T14:46:50.933 回答
1

您应该能够使用 --hive-import 标志导入表并在 Hive 中查看它 检查您是否已定义所有全局变量 HADOOP_HOME、SQOOP_HOME 和 HIVE_HOME 如果它不适合您,同时您可以始终使用 CREATE EXTERNAL TABLE 语法来利用 Hive 中的导入数据。

于 2012-08-06T13:46:38.683 回答
0

您是否在 sqoop 命令行中使用了特定的 --hive-import 开关?

Sqoop import --connect 'jdbc:sqlserver://sqlservername.mycompany.com;username=hadoop;password=hadoop;database=hadoop' --table dataforhive --hive-import

于 2012-10-26T07:47:11.200 回答
0

只需在 hdfs 的路径上创建一个外部配置单元表。或使用 --hive-import

两者中的任何一个都应该适合你。

于 2014-04-02T07:06:44.073 回答
0

我也有同样的问题,我可以将我的 MYSQL 表存储在 HDFS 中,但不能将它存储在 hive 中。我使用以下命令简单地将表导入配置单元中,而无需再次将其存储在 HDFS 中,它对我有用。

sqoop import --connect jdbc:mysql://ipAddress:portNo/mysqldatabase --table mysqltablename --username mysqlusername --password mysqlpassword --hive-import --hive-table hivedatabase.hivetablename
于 2015-05-05T08:19:30.683 回答