我是HIVE的新手。 我有一个由“\ t”分隔的日志文件, 例: A \ tB \ tC \ tD \ tE \ tF ...
我想在此创建一个外部表,我可以使用[FIELD SEPERATED BY“\ t”]但是
答案 0 :(得分:1)
假设您的日志文件中包含以下数据(以'\ t'分隔):
a 123 b c d
x -12 y z
o 1 q
对于第一个要求,默认Hive加载程序将读取您指定的列。例如,
CREATE EXTERNAL TABLE IF NOT EXISTS test (
c1 STRING, c2 INT, c3 STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/user/joe/test';
我们使用上述语句创建表test
。如果某行是a\t123\tb\tc\td
,则Hive将仅使用前3列。因此,您可以使用此功能来剪切行末的无用列。如果您只需要使用“c2”和“c3”,则可以从test
表中选择这两列并忽略“c1”。
对于第二个要求,您可以使用ABS
。例如,
select c1, ABS(c2), c3 from test;
以上陈述将输出以下数据:
a 123 b
x 12 y
o 1 q