Sqoop将表导入Hive,Hive的Thrift服务器是否运行

时间:2014-01-28 22:11:18

标签: hadoop hive thrift sqoop

我在使用sqoop将表导入Hive时遇到问题。

在我的java代码中,我通过SSH连接到hive的服务器,并执行sqoop import命令,该命令将表从postgresql导入到hive。

在我的hive-site.xml中,我指定了:

<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/hlservices/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</property>

如果:Hive的thrift服务器没有运行:

导入的表将为/hlservices/hive/warehouse/mytable,如hive-site.xml所述。 我还可以使用“show tables”或“describe mytable”

在Hive的shell中看到导入的表

否则如果:Hive的thrift服务器正在运行:

导入的表格将是/user/hlservices/mytable(也是dfs中的路径),我无法在Hive的shell中看到它。

Thrift服务器是否正在运行会导致不同的结果!

由于不熟悉,找到要更改配置的文件对我来说很痛苦。

在我的项目中,需要启动thrift服务器并且永不停止。当hive的thrift正在运行时,如何告诉sqoop或hive选择正确的导入路径?

所有hive-site.xml文件

./sqoop-1.4.4.bin__hadoop-1.0.0/testdata/hcatalog/conf/hive-site.xml
./hive-0.10.0/src/data/conf/hive-site.xml
./hive-0.10.0/src/common/src/test/resources/hive-site.xml
./hive-0.10.0/src/pdk/scripts/conf/hive-site.xml
./hive-0.10.0/src/conf/hive-site.xml
./hive-0.10.0/scripts/pdk/conf/hive-site.xml
./hive-0.10.0/conf/hive-site.xml

其中,sqoop文件夹中的第一个hive-site.xml具有:

  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>${test.build.data}/sqoop/warehouse</value>
  </property>

我尝试修改它并使其与hive的conf文件夹下的hive-site.xml相同,但它不起作用

0 个答案:

没有答案