Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 解析配置单元中的自定义日志_Logging_Hadoop_Hive - Fatal编程技术网

Logging 解析配置单元中的自定义日志

Logging 解析配置单元中的自定义日志,logging,hadoop,hive,Logging,Hadoop,Hive,我是新来的蜂巢。 我有一个以“\t”分隔的日志文件, 例子: A\tB\tC\tD\tE\tF… 我想在此基础上创建一个外部表,我可以使用[FIELD separated BY“\t”]但是 我不需要所有的列,我只需要很少的列,例如1,3 一列有负值,我希望它转换为正值 假设日志文件中有以下数据(以“\t”分隔): 对于第一个要求,默认配置单元加载程序将读取您指定的列。比如说, CREATE EXTERNAL TABLE IF NOT EXISTS test ( c1 STRING, c2 I

我是新来的蜂巢。 我有一个以“\t”分隔的日志文件, 例子: A\tB\tC\tD\tE\tF…

我想在此基础上创建一个外部表,我可以使用[FIELD separated BY“\t”]但是

  • 我不需要所有的列,我只需要很少的列,例如1,3
  • 一列有负值,我希望它转换为正值

假设日志文件中有以下数据(以“\t”分隔):

对于第一个要求,默认配置单元加载程序将读取您指定的列。比如说,

CREATE EXTERNAL TABLE IF NOT EXISTS test (
c1 STRING, c2 INT, c3 STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/user/joe/test';
select c1, ABS(c2), c3 from test;
我们使用上面的语句创建一个表
test
。如果某行是
a\t123\tb\tc\td
,则配置单元将仅使用前3列。因此,您可以使用此功能剪切行末尾的无用列。如果您只需要使用“c2”和“c3”,您可以从
test
表中选择这两列并忽略“c1”

对于第二个要求,可以使用
ABS
。比如说,

CREATE EXTERNAL TABLE IF NOT EXISTS test (
c1 STRING, c2 INT, c3 STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/user/joe/test';
select c1, ABS(c2), c3 from test;
上述语句将输出以下数据:

a   123 b
x   12  y
o   1   q

假设日志文件中有以下数据(以“\t”分隔):

对于第一个要求,默认配置单元加载程序将读取您指定的列。比如说,

CREATE EXTERNAL TABLE IF NOT EXISTS test (
c1 STRING, c2 INT, c3 STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/user/joe/test';
select c1, ABS(c2), c3 from test;
我们使用上面的语句创建一个表
test
。如果某行是
a\t123\tb\tc\td
,则配置单元将仅使用前3列。因此,您可以使用此功能剪切行末尾的无用列。如果您只需要使用“c2”和“c3”,您可以从
test
表中选择这两列并忽略“c1”

对于第二个要求,可以使用
ABS
。比如说,

CREATE EXTERNAL TABLE IF NOT EXISTS test (
c1 STRING, c2 INT, c3 STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/user/joe/test';
select c1, ABS(c2), c3 from test;
上述语句将输出以下数据:

a   123 b
x   12  y
o   1   q