收集的业务数据为json格式,准备利用parquet 格式重新存储到hive表,以节约空间并方便后续通过spark 或 hive 进行分析查询。
(示例代码是用python)
具体步骤是:
1. 用spark读取json数据后,得到一个dataframe
path = '/xx/xxx/xxx.json'
df = sqlContext.read.json(path)
2. dataframe 经过filter 、select 等操作再以parquet格式写入hdfs指定路径
df = df.filter(‘xxx’).select(‘xxx’)
3. 目录是按天分区,类似 /parquet/xxxxxx/dt=2017-06-06 这样
df.write.parquet(“/parquet/xxxxxx/dt=2017-06-06”,”overwrite”)
4. 建立对应hive表
CREATE TABLE xxxxxx(
`xx` string,
`xxx` bigint,
`xxxxx` string