自动将csv数据上传到Hadoop中的表中

时间:2014-07-21 14:58:22

标签: csv hadoop

我真的很业余。我试图自动将csv数据导入到驻留在Hadoop中的表中。 csv文件将驻留在服务器中。我一直在谷歌搜索,似乎我必须编写一个shell脚本将csv文件上传到HDFS,然后编写一个hive脚本将csv导入到表中。所有脚本都可以在工作流程中转储到Oozie以自动执行此操作。这是正确的吗?有没有更好的办法?有人能指出我走向正确的轨道。

2 个答案:

答案 0 :(得分:2)

将文件放入hdfs:

hadoop fs -put /here/the/local/file.csv /here/the/destination/in/HDFS

在csv上创建Hive表:

CREATE TABLE yourTable(Field1 INT, Field2 String)
ROW FORMAT DELIMITED FIELDS TERMINATED BY 'youSeparator';

一旦你创建了你的桌子:

LOAD DATA INPATH 'HDFS/Path/To:YourFile.csv' INTO TABLE yourTable;

是的,您可以使用Oozie Workflow或Java来实现...

答案 1 :(得分:0)

我一直在做的方式是使用sql文件和cron作业。 sql包括将数据加载到表中,然后根据需要对其执行一些其他操作。

该文件包含您要输入Hive CLI的相同sql。您可以使用' hive -f'从命令行(或作为cron作业)运行它。

希望有所帮助。