- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 hadoop ha的配置与踩坑
配置hadoop ha模式,首先配置 zookeeper配置zoo.cfgtickTime=2000maxClientCnxns=0initLimit=50syncLimit=5dataDir=/home/zfy/zookeeper-3.4.13/zkdatadataLogDir=/home/zfy/zookeeper-3.4.13/zkdatalogclientPort=2182server.1=node1664:12888:13888server.2=nod
2021-03-17 11:44:40
371
原创 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
803
原创 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
1731
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
319
原创 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
470
原创 flinkx 关系数据库的容错原理
前段时间看了一下flinkx的运行原理,整理一下容错机制(本篇都以dm同步到dm为例子)flinkx 支持断点续传的前提条件数据源中必须有一个升序的字段数据源都必须支持数据过滤数据源都必须支持事务配置json文件中需要开启 断点续传 isRestore 设为 true, 设置最多多少行为一个checkpoint在 命令中开启checkpoint"{\"flink.checkpoint.interval\":1000,\"flink.checkpoint.stateBackend\"
2020-11-16 14:29:53
424
原创 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
722
原创 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
2104
原创 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
2565
转载 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
897
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
527
原创 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
1234
原创 flink 源码之序列化与反序列化(数据类型的获取)
获取数据的类型从addSource 开始进行 序列化在 StreamExecutionEnvironment 的addSource中 通过调用类型抽取器来进行序列化进行 序列化typeInfo = TypeExtractor.createTypeInfo( SourceFunction.class,public <OUT> DataStreamSource<OUT> addSource(SourceFunction<OUT> fu.
2020-07-09 14:07:46
1618
原创 flink源码之各个数据类型对应的序列化
在进行序列化前,flink已经把每个数据的类型存到了 field中,当进行序列化时么,对于复合类型,例如对于tuple,会依次获取每个元素的数据类型,然后进行相应的序列化。flink把类型分为BasicTypeBasicArrayTypeWritableTypeTupleTypeRowTypeInfoMapTypePojoTypeListTypeGenericTypeBasicType为普通的数据类型,string,int等,在BasicTypeInfo 中,public Ty
2020-07-09 14:05:35
1306
原创 用jython链接 java 与 python 解决 中文 出现问号,乱码的情况以及用osgi 打包后 new PythonInterpreter() 报空指针错误
jython因为以及不维护了,虽然用这个有很多python的库用不了,但是基本的一些库都是可以用,只不过 jython的中文问题很是头疼。我也就是解决了很久,当通过 jython把含有中文的 代码 传入 python后,在 传回java,会出现问号问题,这时其实要通过编码解码来传递 代码即可 解决这个问题String pythoncode = " chinese = '中文'";String encodePythonCode = new String(pythoncode.getBytes("UTF-8
2020-06-10 08:45:07
716
原创 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
1860
原创 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
1063
原创 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
347
原创 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
2050
原创 scala 隐式转换
-scala会考虑以下隐式转换:1.位于源或目标类型的伴生对象的隐式函数2.位于当前作用域可以以单个标识符指代的隐式函数-引入隐式转换e.g.import Context._或者制定引入隐式转换的名字e.g. import Context.file或者也可以把摸个隐式转换排除在外e.g.import Context.(file => _,_)//把file排除在外...
2020-03-16 21:21:18
90
原创 scala偏函数和偏应用函数区别
1.偏函数(Partial Function)被包含在花括号中的一组case语句是一个偏函数——一个并非对所有输入值都有定义的函数e.g.val signal: PartialFunction[Int, Int] = {case x if x > 1 => 1case x if x < -1 => -1}2.偏应用函数(Partially applied f...
2020-03-16 21:18:40
176
原创 scala中的Trait
特质可以拥有抽象方法和具体方法,而类可以实现多个特质1.当接口使用scala中的特质完全可以像java中的接口那么使用。在特质中的方法不需要写abstract,因为特质中没有实现的方法就是抽象方法。scala类跟java一样,只可以有一个超类,但是特质可以有很多。2.具体方法的特质特质中的方法,不一定都是抽象的,可以带有实现的方法。3.对象的特质在构造单个对象时,可以为他添加特质。...
2020-03-16 21:16:47
149
原创 py4j在windows下安装
py4j在windows下安装我也是根据官网安装的,只要照着官网安装就可以了下载地址:https://www.py4j.org/install.html1.cmd安装python setup.py install2.然后配置环境变量系统变量:新加入:PYTHONPATH变量的值为:py4j的存放路径eg.D:\py4j-0.10.8.1然后在classpath下加入py4j...
2019-07-16 17:23:30
892
flink-shaded-hadoop-2-uber-2.7.4-11.0.jar
2020-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人