Hadoop / Hive:从本地机器上的.csv文件加载数据?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (307)

我为我设置了Hadoop和Hive,这样我就可以在我的计算机上运行Hive查询访问AWS群集上的数据。我可以使用存储在我的计算机上的.csv数据运行Hive查询,就像我使用MS SQL Server一样?

那么如何将.csv数据加载到Hive呢?这与Hadoop有什么关系,我应该运行哪一种模式?

提问于
用户回答回答于

如果你有配置单元设置,则可以直接在hdfs / s3中使用Hive加载命令来放置本地数据集。

编写加载命令时需要使用“Local”关键字。

hiveload命令的语法

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

请参阅下面的链接了解更多详情。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual%20DML#LanguageManualDML-Loadingfilesintotables

用户回答回答于

步骤:

首先,使用csv文件中的字段名称在配置单元上创建一个表。比方说,例如,你的csv文件包含三个字段(id, name, salary),你想创建一个名为“staff”的表。使用下面的代码在配置单元中创建表。

hive> CREATE TABLE Staff (id int, name string, salary double) row format delimited fields terminated by ',';

其次,现在你的表格是在配置单元中创建的,然后将你的csv文件中的数据加载到配置单元上的“staff”表中。

hive>  LOAD DATA LOCAL INPATH '/home/yourcsvfile.csv' OVERWRITE INTO TABLE Staff;

最后,在配置单元上显示“Staff”表的内容,检查数据是否成功加载

hive> SELECT * FROM Staff;

谢谢。

扫码关注云+社区

领取腾讯云代金券