我需要一些指導/幫助來完成一項簡單任務,以在我的數據文件中爲Apache Pig創建模式。我有兩個文件將有助於此任務。第一個文件是包含沒有列標題的數據的數據文件,第二個文件包含數據文件的列標題。所以基本上,column_header文件是數據文件的模式。我如何在豬腳本中概述這一點?這是我到目前爲止。使用豬腳本創建模式
column_header = load 'sitecatalyst/coulmn_headers.tsv' using PigStorage('\t');
data = load 'sitecatalyst/hit_data.tsv' using PigStorage('\t') as column_header;
schema = foreach data generate column_header;
store schema into 'output1' using PigStorage('\t', '-schema');
withSchema = load 'output1';
describe withSchema;
這是用於輸出
DUMP column_header
(accept_language,瀏覽器,browser_height,browser_width)
當我做,
DUMP data;
僅第一行數據的列正在輸出,這是錯誤的。
的en-US
的en-US
的en-US
的en-US
相反,它應該是,
的en-US 638 755 1600
en-US 638 655 1342
的en-US 638 723 1612
的en-US 638 231 1234
我怎麼能欺騙豬用 「COLUMN_HEADER」 作爲一個字符串,可以像在第二行語句中的PigStorage期間使用碼?
編輯: 此代碼將工作,但不是硬編碼我的column_header我想豬腳讀取它。
column_header = load 'sitecatalyst/coulmn_headers.tsv' using PigStorage('\t');
data = load 'sitecatalyst/hit_data.tsv' using PigStorage('\t') as (accept_language,browser,browser_height,browser_width);
schema = foreach data generate accept_language,browser,browser_height,browser_width;
store schema into 'output1' using PigStorage('\t', '-schema');
withSchema = load 'output1';
describe withSchema;
問題不清楚你需要什麼.. –
嗨Sandeep,哪部分問題不清楚?我只需要爲我的數據文件創建一個模式。我有一個文件,其中包含數據文件的列標題。我如何實現這一目標? –
你在看什麼你想要設置標題輸出文件或其他任何事情你在做... –