将Sqoop数据从HDFS移动到Hive

时间:2012-05-09 16:22:26

标签: hadoop hive hdfs sqoop

使用Sqoop将一堆大型MySQL表导入HDFS时,我忘了包含--hive-import标志。所以现在我已经将这些表放在HDFS中了,我想知道是否有一种简单的方法可以将数据加载到Hive中(不需要自己编写LOAD DATA语句)。

我尝试使用sqoop create-hive-table:

./bin/sqoop create-hive-table --connect jdbc:mysql://xxx:3306/dw --username xxx --password xxx --hive-import --table tweets

虽然这确实创建了正确的配置单元表,但它没有将任何数据导入其中。我有一种感觉,我在这里缺少一些简单的东西......

为了记录,我使用Elastic MapReduce和Sqoop 1.4.1。

2 个答案:

答案 0 :(得分:4)

您无法在配置单元中创建外部表并将其指向这些文件吗?

create external table something(a string, b string) location 'hdfs:///some/path'

答案 1 :(得分:1)

您没有在命令中指定“import”。语法是sqoop tool-name [tool-arguments]

它应该是这样的:

  

$ sqoop import --create-hive-table --connect jdbc:mysql:// xxx:3306 / dw --username xxx --password xxx --hive-import --table鸣叫