如何将文件从windows操作系统复制到cloudera?我还想将.csv文件导入到配置单元中,如何才能做到这一点?请帮我把它做完。
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加载到各个字段中,但您必须自己添加字段名。不过,我以前从来没有这样做过。
1条答案
按热度按时间zujrkrfu1#
要将文件导入linux,您需要将其ftp到centos cloudera box,或者装载一个文件共享并从那里复制它。
进入centos/cloudera框后,您可以打开web浏览器并登录到cloudera manager和hue,这是hive/pig等的用户界面。顶部有图标,左侧第三个是蜂蜡/hive。单击该图标并从那里开始。
一旦将文件放到cloudera框中,您的另一个选择就是使用hadoop fs命令,特别是copyfromlocal命令
要将文件加载到配置单元中,可以执行以下两种操作之一。将其加载到单个大型暂存字段中,然后使用如下偏移量将其解析为所需的字段:
这会将整个记录加载到单个字段中。加载后,您将执行以下操作。
语法看起来很有挑战性,但也不错,您只需阅读hiveql,它还允许您将csv加载到各个字段中,但您必须自己添加字段名。不过,我以前从来没有这样做过。