【发布时间】:2016-12-12 12:04:20
【问题描述】:
我需要一些指导/帮助来完成一项简单任务,以便在 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,browser_height,browser_width)
当我这样做时,
DUMP data;
只输出第一行列数据,这是错误的。
zh-CN
zh-CN
zh-CN
zh-CN
应该是这样,
zh-CN 638 755 1600
zh-CN 638 655 1342
zh-CN 638 723 1612
zh-CN 638 231 1234
如何欺骗 Pig 使用“column_header”作为第二行代码的 PigStorage AS 语句中可以使用的字符串?
编辑: 这段代码可以工作,但我不想硬编码我的 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,问题的哪一部分不清楚?我只需要为我的数据文件创建一个模式。我有一个文件,其中包含数据文件的列标题。我如何做到这一点?
-
你在看什么你想为输出文件或你正在做的任何其他事情设置标题......
-
我不想设置标题或任何东西。我只需要数据文件的文档设计(Schema)。在代码中我将其输出到文件中。
-
觉得这不是创建设计文档的正确方式。
标签: hadoop apache-pig schema