创建hive表
1、建外表(分区pdate,\t作为字段分隔符,hdfs路径:path):
CREATE EXTERNAL TABLE tablename(
字段1 string,
字段2 string
)
partitioned by (pdate string)
row format delimited fields terminated by '\t'
LOCATION 'path';
2、创建数据库database_test,创建表table_test(分区pdate、hour,压缩建表):
hive -e"create database if not exists database_test;"
hive -e "DROP TABLE IF EXISTS database_test.table_test";
sql="CREATE TABLE database_test.table_test
(
字段1 string
,字段2 string
)
PARTITIONED BY (
pdate string,
hour string)
STORED AS ORC tblproperties ('orc.compress'='ZLIB')";
hive -e "$sql";
3、序列化建表(将日志解析,为各个字段取相应的日志内容):
首先需要写一个解析类,代码如下:
package net.csdn.hive.table_leiyf;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import net.sf.json.JSONObject;