实时解析日志遇到的问题记录

本文记录了在实时解析日志过程中遇到的问题,包括Kafka参数设置,如auto.offset.reset的选择,以及如何处理Zookeeper中的offset数据。还涉及到Parquet文件的使用,通过SparkSession操作DataFrame存入HDFS并与Hive配合进行查询。此外,提到了nginx日志中特殊IP格式和日期格式问题的解析注意事项。
摘要由CSDN通过智能技术生成

使用createDirectStream实现精确一次的读取,kafka的offset保存到Zookeeper中。

1. kafka参数

auto.offset.reset :smallest, largest
默认为”largest”,此配置参数表示当此groupId下的消费者,在ZK中没有offset值时(比如新的groupId,或者是zk数据被清空),consumer应该从哪个offset开始消费.largest表示当前接收最大的offset(即最新消息),smallest表示最小offset,即从topic的开始位置消费所有消息.
注意,如果当前SparkStreaming程序正在运行,这个时候如果在ZK客户端中删除该offset是没用的,接下来还是会接着之前的offset进行消费。
调试程序的过程中,注意重新运行前是否应该清除ZK上的数据,避免错误的offset影响到消费。

2.关于parquet文件

由于我是需要解析好了数据存入hdfs,使用hive能够查询结果。
步骤如下:
1 hive中创建外部表,加入partition:

create external table table_name(id STRING)  PARTITIONED BY (partition_name string)  STORED 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值