我们如何使用Scala解析下面的日志类型?
我想阅读这种数据并将其放入Hive表中。
realloc
日志内容实际上是HTML标记< />
答案 0 :(得分:1)
为什么不能直接在Hive中加载数据日志呢? Use a RegexSerde in Hive
制作目录
hdfs dfs -mkdir -p /some/hdfs/path
制作表格
DROP TABLE IF EXISTS logdata;
CREATE EXTERNAL TABLE logdata (
timestamp STRING,
eventCategory STRING,
eventType STRING,
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "log timestamp=\“([^ ]*)\” eventCategory=\“([^ ]*)\” eventType=\“([^ ]*)\”",
"output.format.string" = "%1$s %2$s %3$s"
)
STORED AS TEXTFILE
LOCATION '/some/hdfs/path/';
上传您的日志
hdfs dfs -copyFromLocal data.log /some/hdfs/path/
查询表
SELECT * FROM logdata;