如何将windows操作系统上的文件复制到cloudera?我还想将.csv文件导入到配置单元中,如何才能做到这一点?

ygya80vv  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(314)

如何将文件从windows操作系统复制到cloudera?我还想将.csv文件导入到配置单元中,如何才能做到这一点?请帮我把它做完。

zujrkrfu

zujrkrfu1#

要将文件导入linux,您需要将其ftp到centos cloudera box,或者装载一个文件共享并从那里复制它。
进入centos/cloudera框后,您可以打开web浏览器并登录到cloudera manager和hue,这是hive/pig等的用户界面。顶部有图标,左侧第三个是蜂蜡/hive。单击该图标并从那里开始。
一旦将文件放到cloudera框中,您的另一个选择就是使用hadoop fs命令,特别是copyfromlocal命令
要将文件加载到配置单元中,可以执行以下两种操作之一。将其加载到单个大型暂存字段中,然后使用如下偏移量将其解析为所需的字段:

LOAD DATA INPATH '/user/xyz/Inbound/files/target.csv' INTO TABLE 'myTable'

这会将整个记录加载到单个字段中。加载后,您将执行以下操作。

INSERT OVERWRITE TABLE myTable SELECT
regexp_extract(col_value, '^(?:([^,]*)\,?)(1)', 1) New_Field_name1
regexp_extract(col_value, '^(?:([^,]*)\,?)(5)', 1) New_Field_name2
......
FROM myTable;

语法看起来很有挑战性,但也不错,您只需阅读hiveql,它还允许您将csv加载到各个字段中,但您必须自己添加字段名。不过,我以前从来没有这样做过。

相关问题