flink
程序媛-yang
毕业于新南威尔士大学,信息技术专业硕士。
目前学习flink源码,可以加微信一起学习讨论:estelle9895
展开
-
flink读取 hive 1.2.1 报错 ClassNotFoundException: org.apache.orc.storage.ql.exec.vector.VectorizedRowB
flink 版本1.11.1hadoop 版本 2.7.4hive 版本 1.2.1读取hive的文件报错Caused by: java.lang.ClassNotFoundException: org.apache.orc.storage.ql.exec.vector.VectorizedRowBatch at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.lo原创 2021-02-03 17:05:27 · 760 阅读 · 0 评论 -
flink java 语言 readfile读取hdfs上的csv文件并开启流处理
在flink中针对读取csv文件的输出可以有3种格式,都是通过引用inputFormat来控制的,分别为 PojoCsvInputFormat输出类型为pojo, RowCsvInputFormat输出类型为Row, TupleCsvInputFormat输出类型为Tuple。本例子就用RowCsvInputFormat。可以进入到RowCsvInputFormat 看看其构造函数都有哪些public RowCsvInputFormat( Path filePath, TypeInforma原创 2021-01-29 10:16:03 · 1647 阅读 · 2 评论 -
flink-hive 开启流读取Text 例子
String pathString = "hdfs://hostname:9000/flinkText/text.txt";String charsetName = "UTF-8";int interval = 10;Path path = new Path(pathString);TextInputFormat format = new TextInputFormat(path);format.setNestedFileEnumeration(true);DataStreamSource&原创 2021-01-28 17:24:23 · 307 阅读 · 0 评论 -
flink-hive 源码之持续扫描获取发现新的分区
flink hive是支持不断的获取和发现 新的分区的,在flink 源码中的实现,主要通过FileProcessingMode.process_continuously 来设置持续扫描hive文件,如果FileProcessingMode.process_once则不用持续扫描hive文件。当设置FileProcessingMode.process_continuously后,flink会注册HiveContinuousMonitoringFunction ,在这个类中主要实现的就是不断的读取发现hive原创 2021-01-28 17:08:48 · 440 阅读 · 0 评论 -
flinkx 关系数据库的容错原理
前段时间看了一下flinkx的运行原理,整理一下容错机制(本篇都以dm同步到dm为例子)flinkx 支持断点续传的前提条件数据源中必须有一个升序的字段数据源都必须支持数据过滤数据源都必须支持事务配置json文件中需要开启 断点续传 isRestore 设为 true, 设置最多多少行为一个checkpoint在 命令中开启checkpoint"{\"flink.checkpoint.interval\":1000,\"flink.checkpoint.stateBackend\"原创 2020-11-16 14:29:53 · 401 阅读 · 0 评论 -
flink1.11链接hive源码解析------------flink获取hadoop,hive配置并链接hive的metastore
flink1.11 对hive 有很大的改进与提升,flink通过高级API tableapi来进行对hive的处理。本文避开了tableAPI,主要讲解,flink如何链接的hive的metastore。flink链接hive的一系列初始化的代码主要都在HiveCatalog 类中,下面主要描述HiveCatalog中的功能。三个重要的参数 private final HiveConf hiveConf; # hive的配置 private final String hiveVersio原创 2020-11-02 17:26:13 · 704 阅读 · 0 评论 -
flink 1.11连接hive,报错unable to instantiate java compiler
报错原因,hive的版本冲突,把下面的依赖打包时,不要打进去,直接加 provided ,并在flink 的lib中加入这几个包<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-planner-blink_2.11</artifactId> <version>${f..原创 2020-10-27 14:26:31 · 2067 阅读 · 0 评论 -
flink1.11 连接hive 与 hive的远程连接的配置与错误踩坑总结
hive远程配置前提环境要求安装mysql和安装hadoop安装hive,要搭建可以进行远程连接hive的环境远程连接hive,服务端和客户端不在一个节点的上的搭建方式1.前期准备的包环境为hive-3.1.2需要下载 hive-exec-3.1.2.jar,mysql-connector-java-5.1.40.jar这两个包放在hive_home/lib下2. 服务端的配置修改hive-site.xml,如果在hive_home/conf下没有这个文件则:cp hive-site.x原创 2020-10-15 16:36:35 · 2482 阅读 · 0 评论 -
flink1.11 readfile读取hdfs文件报错 could not find a file system inplementation for scheme ‘hdfs‘
报错原因是flink找不到hadoop,1.11开始 flink官方不在提供flink-shaded-hadoop-2-uber,根据转载的链接 自己编译了一个flink-shaded-hadoop-2-uber jar包,把对应的jar包放到 flink/lib下,重启flink即可。下载 flink-shadedhttps://github.com/apache/flink-shaded.git修改pom文件对应的hadoop版本flink-shaded-hadoop-2-parent 中的p转载 2020-10-11 15:15:02 · 844 阅读 · 2 评论 -
idea flink 下打包源码 - source.jar的生成
在pom中加入打包代码 <build> <plugins> <!-- source包 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.0.0</version>原创 2020-08-03 10:47:44 · 511 阅读 · 0 评论 -
flink 1.10 和 最新发版的1.11区别
1.101.11自己编译 hadoop(“flink-shaded-hadoop-*” jars),不需要配置环境变量。容易发生版本冲突直接引用集群中的hadoop包,解决冲突问题,但是需要配置一下环境变量flink-csv 和flink-json 需要下载 jarflink-csv和 flink-json 不需要下载 jar包,已经在lib 文件夹下了。有 legacyScheduler删除了旧版的legacyScheduler有 legacyScheduler...原创 2020-07-29 16:42:44 · 1227 阅读 · 0 评论 -
flink 源码之序列化与反序列化(数据类型的获取)
获取数据的类型从addSource 开始进行 序列化在 StreamExecutionEnvironment 的addSource中 通过调用类型抽取器来进行序列化进行 序列化typeInfo = TypeExtractor.createTypeInfo( SourceFunction.class,public <OUT> DataStreamSource<OUT> addSource(SourceFunction<OUT> fu.原创 2020-07-09 14:07:46 · 1563 阅读 · 0 评论 -
flink源码之各个数据类型对应的序列化
在进行序列化前,flink已经把每个数据的类型存到了 field中,当进行序列化时么,对于复合类型,例如对于tuple,会依次获取每个元素的数据类型,然后进行相应的序列化。flink把类型分为BasicTypeBasicArrayTypeWritableTypeTupleTypeRowTypeInfoMapTypePojoTypeListTypeGenericTypeBasicType为普通的数据类型,string,int等,在BasicTypeInfo 中,public Ty原创 2020-07-09 14:05:35 · 1228 阅读 · 0 评论 -
flink kafka 消费者的订阅模式和动态分区 拉取数据 的源码解析
kafka 的订阅模式在描写flink kafka 的订阅模式前,先来回顾一下kafka 的订阅模式,kafka 的订阅模式有以下两种。1.subscribe() 具有消费者自动再均衡的功能,当组内的消费者增加或者减少的时候,分区的关系就会自动调整。2.assign 是可以自定义根据分区来拉取数据的。assgin模式因为是自己定义的,所以就缺少来kafkasubscribe中自带的reblance。而flink kafka选取的模式就是assign模式。flink kafka 消费者在flin原创 2020-05-19 08:36:29 · 1801 阅读 · 0 评论 -
flink kafka addSource(comsumer ) 源码学习笔记
addsource 其中function存的是FlinkKafkaConsumer对象 public <OUT> DataStreamSource<OUT> addSource(SourceFunction<OUT> function, String sourceName, TypeInformation<OUT> typeInfo) ...原创 2020-04-07 09:30:44 · 1037 阅读 · 0 评论 -
flink - kafka connector producer源码学习笔记
addSINkpublic DataStreamSink<T> addSink(SinkFunction<T> sinkFunction) {创建StreamSink对象 StreamSink<T> sinkOperator = new StreamSink<>(clean(sinkFunction));AbstractUdfStrea...原创 2020-03-29 16:18:01 · 320 阅读 · 0 评论 -
flink - kafka producer 实现多分区发送数据到consumer,进行消费
先建立好分区的topickafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic flinkwrite5建立分区为3 ,并行度为3 的producer2.然后在flink中连接这个topictreamExecutionEnvironment...原创 2020-03-28 21:49:25 · 2007 阅读 · 0 评论