定期导入.CSV文件HDFS



我有多个csv文件,其中包含人员的详细信息。我使用-copyFromLocal命令将其复制到HDFS中,并使用配置单元表查看它。但现在我的新用例是,我本地的这些csv文件每天都会更新。我希望这些数据在HDFS中更新,就像Sqoop Incremental导入将数据从RDBMS复制到HDFS一样。有什么方法可以做吗?并建议我如何做。

假设每个文件都包含相同的字段。

创建一个顶级HDFS目录,为每天的放置日期分区

/daily_import 
/day=20180704
/file.csv
/day=20180705
/file.csv

然后在上定义一个表

CREATE EXTERNAL TABLE daily_csv (
... 
) PARTITIONED BY (`day` STRING) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' STORED AS TEXT -- Use  CsvSerde instead!
LOCATION '/daily_import'
;

然后,每天在将文件复制到适当的HDFS位置后,对新分区执行元存储刷新

MSCK REPAIR TABLE daily_csv;

相关内容

  • 没有找到相关文章

最新更新