1.版本信息:
Flink Version:1.6.2
Kafka Version:0.9.0.0
MySQL Version:5.6.21
2.Kafka 消息样例及格式:[IP TIME URL STATU_CODE REFERER]
1 | 1.74.103.143 2018-12-20 18:12:00 "GET /class/130.html HTTP/1.1" 404 https://search.yahoo.com/search?p=Flink实战 |
ruozedata
以下内容来自第三届携程大数据沙龙
Spark读取Hive表用的各个文件格式的InuptFormat,计算读取表需要的task数量依赖于InputFormat#getSplits
由于大部分表的存储格式主要使用的是orc,当一个orc文件超过256MB,split算法并行去读取orc元数据,有时候Driver内存飙升,OOM crash,Full GC导致network timeout,spark context stop
Hive读这些大表为何没有问题?因为Hive默认使用的是CombineHiveInputFormat,split是基于文件大小的。
Spark也需要实现类似于Hive的CombineInputFormat,还能解决小文件过多导致提交task数量过多的问题。
Executor Container killed
Executor : Container killed by YARN for exceeding memory limits. 13.9 GB of 12 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead
flink下载地址
https://archive.apache.org/dist/flink/flink-1.5.0/
因为例子不需要hadoop,下载flink-1.5.0-bin-scala_2.11.tgz即可
上传至机器的/opt目录下