实时解析日志遇到的问题记录
来源:互联网 发布:mac怎么隐藏dock 编辑:程序博客网 时间:2024/09/21 06:37
使用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 AS PARQUET LOCATION 'hdfs_path';
2 解析好的parquet文件放入hdfs_path路径;
3 添加对应的partition:(如果不手动添加分区的话查不出来数据)
alter table table_name add partition (partition_name='your_data');
然后就可以在hive中查询了。
Spark2.0 引入了SparkSession,操作DataFrame很容易,也可以使用DataFrame直接查询hdfs上的parquet文件,支持各种sql,测试的话就不用各种建表、添加分区了。
3. 其他的问题
- nginx日志,ip字段出现了 ip1,ip2,… - - [Date]这样的格式,据说是使用vpn的结果,这个不太清楚,解析的时候需要注意一下。
- 日期格式,nginx日期格式是 SimpleDateFormat(“dd/MMM/yyyy:HH:mm:ss”, Locale.US)
注意大小写,小时的小写是采用12小时计时法,而如果分钟和秒也搞成大写的话就出现了很诡异的事情,比如我转换20161126-195900日期变成了2020年,这个没查是什么原因,总之注意大小写就好了。
0 0
- 实时解析日志遇到的问题记录
- log4j日志记录中遇到的问题
- 记录3——快速检查机器的各种实时错误日志并且及时定位问题
- hibernate遇到的问题记录
- hadoop遇到的问题记录
- 遇到的一些 问题记录
- 记录mapreduce遇到的问题
- hadoop 遇到的问题记录
- 平常遇到问题的记录
- 平时遇到的问题记录
- android遇到的问题记录
- webpack ------ 遇到的问题记录
- AssetBundle遇到的问题记录
- RecyclerView遇到的问题记录
- 记录每天遇到的问题
- AssetBundle 遇到的问题记录
- 记录遇到过的问题
- 记录 (遇到的问题)
- HTML初探
- 第一节 javascript的简史
- 初学构建小项目之仓库管理系统货物管理功能实现(四)
- 什么时候需要重写equals方法?为什么重写equals方法,一定要重写HashCode方法?
- 解决setConnectTimeout超时无响应
- 实时解析日志遇到的问题记录
- 利用onSaveInstanceState()方法保存Activity状态
- 小谈HTC Vive键位获取以及物品的拾取
- Linux下oracle定时备份
- mysql悲观锁总结和实践
- POJ 3190 Stall Reservations 笔记
- 第十五周项目1-(1)验证哈希表实施查找的相关算法
- Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别
- iOS-Swift3瀑布流布局开源