- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 【FLINK】 No Executor found. Please make sure to export the HADOOP_CLASSPATH
背景:使用java执行flink代码的时候出现报错(有小伙伴提到在新环境安装的flink中初次执行flink代码也可能会出现同样的错误)报错提示:No Executor found. Please make sure to export the HADOOP_CLASSPATH environment variable or have hadoop in your classpath原因:原因:产生这个问题的原因这个,具体的意思就是从Flink 1.11开始,flink-shaded-ha
2021-04-19 16:31:02
3108
1
原创 Flink报错OutofMemoryError : Direct buffer memory
1、报错flink运行一段时间后报错:java.lang.OutOfMemoryError: Direct buffer memory截图:2、原因根据报错提示和flink在官网上的内存模型,我们可以看到是Direct Memory不够用了3、解决方法把task manager的内存和堆外内存调大,从而间接调大Direct Memoryflink默认的task manager 内存是1.7G我们在命令行里调整参数最后...
2021-03-29 20:49:10
4039
原创 FlinkSQL流表与维表join 和 双流join
维表是数仓中的一个概念,维表中的维度属性是观察数据的角度,补充事实表的信息。在实时数仓中,同样也有维表与事实表的概念,其中事实表通常为kafka的实时流数据,维表通常存储在外部设备中(比如MySQL,HBase)。对于每条流式数据,可以关联一个外部维表数据源,为实时计算提供数据关联查询。维表可能是会不断变化的,在维表JOIN时,需指明这条记录关联维表快照的时刻。本文主要介绍:1、流表和维表的区别2、流表和维表join的数据流转解析3、双流join的数据流转解析4、代码示例和场景1、流表和维表
2020-12-01 21:17:07
3930
2
原创 flinkSQL数据写kafka多分区
1、背景FlinkSQL数据写kafka,如果不设置并行度,默认是1。但是由于数据量和下游消费者的需求,需要往多个kafka分区写数据,提高并发,在这个情况下,需要保证同一个主键的数据发往同一个partition,flinkSQL已经支持这个功能,接下来我们实现一下2、实现(python代码)只需要两步:1⃣️初始化:初始化加上flink并行的配置table_env.get_config().get_configuration().set_string(“parallelism.default”,
2020-10-13 11:19:45
1925
原创 Flink自定义ClickHouseSink--数据写入ClickHouse
简介遇到需要将Kafka数据写入ClickHouse的场景,本文将介绍如何使用Flink JDBC Connector将数据写入ClickHouseFlink JDBC ConnectorFlink JDBC源码:/** * Default JDBC dialects. */public final class JdbcDialects { private static final List<JdbcDialect> DIALECTS = Arrays.asList( ne
2020-08-13 21:12:25
10009
16
原创 python2.X升级到python3.X
背景Linux自带的python版本是2.7.5,不能满足现阶段的开发需求,所以打算升级到python3.6.6安装依赖包yum install libffi-devel zlib-devel sqlite-devel openssl-devel -yyum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64yum install gcc-objc gcc-objc++ libobjcyum install bzip2-deve
2020-06-22 15:04:11
354
原创 微信表情入库Mysql和Scala 过滤微信表情
一、背景 在对用户头像和昵称处理后,数据存放在Mysql,如果昵称包含微信表情,可能会导致数据入库失败二、解决方法1、分别修改数据库、数据表、数据列 字符集改成utf8mb4,排序规则为utf8mb4_unicode_ci表情符号占4个字节,UTF-8是3个字节,所以可以设置数据库字符集编码为utf8mb4(4个字节)2、对表情符号转码 设置字符集之后,并不能保证所有的表情都能入库...
2020-04-07 11:32:32
408
原创 Hbase底层原理和预分区实践
简介:HBase是一个典型的NOsql数据库,以其独特的列式存储和顺序读写(磁盘的顺序读写比内存的随机读写还要高效),能做到高效读取和存储海量数据,是大数据存储和数仓建设中很重要的工具在讲rowkey设计和预分区之前,让我们来看看hbase数据是如何根据rowkwy找到属于自己的region进行存储一、Hbase寻址和读写原理架构分析1、HMaster负责管理HBase元数据,即表的结...
2020-03-05 16:42:06
1343
转载 Spark SQL 之 Join原理
Spark SQL 之 Join 实现Spark SQL 之 Join 实现涂小刚 2017-07-19 217标签: spark , 数据库Join作为SQL中一个重要语法特性,几乎所有稍微复杂一点的数据分析场景都离不开Join,如今Spark SQL(Dataset/DataFrame)已经成为Spark应用程序开发的主流,作为开发者,我们有必要了解Join在Spark中是如何组织运行的...
2020-02-26 18:39:38
399
原创 Spark:shuffle过程详解
spark的shuffle有几种方式:什么是shuffleShuffle 过程本质上都是将 Map 端获得的数据使用分区器进行划分,并将数据发送给对应的 Reducer 的过程。前一个stage的ShuffleMapTask进行shuffle write,把数据存储在blockManager上面,并且把数据元信息上报到dirver的mapOutTarck组件中,下一个stage根据数据位置源...
2018-11-29 11:47:57
2597
1
原创 MapReduce shuffle过程详解
MR shuffle过程详解首先,MapReduce是什么?干什么用的?MapReduce是一个基于yarn的分布式、离线、并行的计算框架,主要职责是处理海量数据集,是Hadoop生态圈中一个非常重要的一个工具,所以MapReduce是大数据学习的一个很关键的知识点,需要大家好好掌握!MapReduce其中包含许多组件,但最主要的还是Job提交和Map、Reduce的全流程这两个部分,学习中...
2018-11-28 17:49:25
419
原创 Mapreduce的简单实现和步骤
package com.qfedu.bigdata.MR;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apac...
2018-09-20 21:20:42
951
原创 Linux yum源安装nginx
保证虚拟机能上网: 1、root用户登录查看nginx是否安装: rpm -qa | grep nginx 如果查找到有nginx相关,则卸载 rpm -e –nodeps 查找出来的包2、查看nginx安装信息:yum info nginx 3、如果找不到nginx信息,则执行如下: wget http://nginx.org/packages/centos/6/noarch...
2018-09-15 14:37:44
218
原创 虚拟机链接网络和工具
虚拟机连通网络和工具虚拟机设置 网络适配器 选NAT模式[root@bogon /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0(虚拟机输入命令 进入网络配置) 内容: DEVICE=eth0 HWADDR=00:0C:29:0F:84:86(虚拟机硬件mac地址 在网络配适器 高级 里面可以看到) TYPE=Ethernet ...
2018-09-15 10:43:26
261
原创 shell知识点、基本语法
shell 脚本:通常指的是在linux版本服务器中编写的脚本。shell 脚本本看成用户和系统之间的沟通桥梁。shell属于解释型语言。解释器类型有: /bin/sh /bin/bash /bin/ksh /bin/csh 等。常用和绝大多数linux内核系统默认使用bashshell脚本运行方式: 1、授予脚本可执行的权限 chmod a+x ./first.sh...
2018-09-10 20:30:09
208
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人