我有一个日志文件“sample.log”,如下所示:
41 Texas 2000
42 Louisiana4 3211
43 Texas 5000
22 Iowa 4998p
在日志文件中,第一列是id,第二列是state name,第三列是amount。如果你看到州名它有路易斯安那4和销售总额它有4998便士。如何清理它,以便将其插入到配置单元中(使用python或其他方式?)。你能指一下台阶吗?
我想在配置单元表tblsample中插入:
表架构是:
CREATE TABLE tblSample(
id int,
state string,
sales int)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION '/user/cloudera/Staging'
;
要将数据加载到配置单元表中,我可以执行以下操作:
load data local inpath '/home/cloudera/sample.log' into table tblSample;
谢谢您!
2条答案
按热度按时间ufj5ltwl1#
我宁愿按原样存储数据,并在获取数据时进行清理。那就简单多了。不需要外部代码。例如:
hth公司
djmepvbi2#
可以按原样将数据加载到配置单元表中,然后使用UDF清理数据并加载到另一个表中。这将比python更有效,因为它将作为maprreduce运行。