[英]How to copy a file fron windows os to cloudera ? I also want to import the .csv file in to the hive, how can i do that?
如何將文件從Windows操作系統復制到cloudera? 我也想將.csv文件導入到配置單元中,我該怎么做? 請幫助我完成它。
為了使文件進入Linux,您需要將其通過ftp下載到CentOS CLoudera盒中,或者掛載文件共享並從那里復制它。
一旦進入CentOS / Cloudera框,您就可以打開Web瀏覽器並登錄到Cloudera Manager和Hue,這是Hive / Pig等的用戶界面。頂部有圖標,左邊第三個是Beeswax / Hive。 單擊該圖標,然后從那里開始。
將文件放在Cloudera框中后,您的另一選擇是使用在此處找到的Hadoop fs命令,特別是copyFromLocal
要將文件加載到Hive中,您可以執行以下兩項操作之一。 將其加載到單個大的暫存字段中,然后使用偏移量將其解析為所需的字段,如下所示:
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 Hue,還可以將CSV加載到各個字段中,但是您必須自己添加字段名稱。 我從來沒有做過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.