大数据
文章平均质量分 73
大壮001
这个作者很懒,什么都没留下…
展开
-
nifi详细介绍--一款开箱即用、功能强大可靠,可用于处理和分发数据的大数据组件
nifi 是一款开源的数据集成工具,由Apache软件基金会开发和维护。它是一个易于使用、功能强大且可靠的系统,用于处理和分发数据 的大数据数据组件。本文详细介绍了nifi的历史背景、工作原理、入门介绍、工作流程及实际应用场景和使用优势,帮助读者认识并入门这款强大的开源大数据组件。原创 2024-01-03 20:15:00 · 9602 阅读 · 1 评论 -
flink sql (jdbc)如何支持where 条件下推数据库
为了支持flink sql (jdbc)过滤条件下推,这里提供一些解决方案。最近在使用 flink sql (jdbc)做离线数据同步(历史数据修复),只同步几条数据的情况下,测试环境执行竟然需要30+分钟。进一步研究,发现where条件没有下推到数据库执行,而是全表读取。本文提供了2种解决办法。原创 2023-03-08 11:11:52 · 3395 阅读 · 0 评论 -
flink sql 源码走读 --- 解释flink jdbc where 条件为什么没有下推数据库
本文通过一个具体案例,说明 flink sql 如何实现 connector 加载、source/sink 端操作、数据库连接等。可以帮助大家了解其原理,并在代码中找到落库执行SQL生成逻辑,得到where条件并没有下推到库执行的结论。原创 2023-03-07 10:18:06 · 2890 阅读 · 1 评论 -
flink sql 执行慢问题排查(flink jdbc where 条件没有下推数据库)
本文主要介绍了 如何利用 jstack 定位问题,并通过断点了解到flink sql (flinksql)执行慢的原因,重在排查问题的技巧和思路。最终定位到 flink sql (jdbc)执行慢的原因是 因为sql中的 where条件没有下推到数据库执行,而是全量加载数据,在内存里过滤。原创 2023-02-23 17:36:39 · 1644 阅读 · 8 评论 -
flinksql idea执行没问题,java -jar 或者 上传集群 执行报错(NoMatchingTableFactoryException) 解决办法
idea正常,上传集群报错Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.....ExecutorFactory' in the classpath. Reason: No factory implements 'org.apache.flink.table。提供2个可行的解决办法原创 2023-02-15 15:08:27 · 689 阅读 · 1 评论 -
flink jobmanager 启动失败,报错:taskexecutor.TaskExecutor-Could not resolve ResourceManager address
解决jobmanager启动失败问题:Remote connection to [null] failed with java.net.ConnectException: Connection refused: taskmanager/xxxx:6123Could not resolve ResourceManager address akka.tcp://flink@taskmanager:6123/user/rpc/resourcemanager原创 2023-01-19 14:00:45 · 10496 阅读 · 0 评论 -
spark sql 中的 笛卡尔积(cross join)优化方法--mapjoin
在编写sql代码时,需要尽量少使用 笛卡尔积,但是有些特殊场景下很难找到代替方案。这里分享了 在进行spark sql 编写任务作业时遇到笛卡尔积导致执行慢的问题,并记录了解决方案原创 2023-01-11 20:15:00 · 2716 阅读 · 1 评论 -
使用COALESCE和REPARTITION解决SPARK SQL(hadoop) 小文件过多的问题
最近在做数仓宽表开发时,发现某些表的在hadoop(命令:hdfs dfs -ls)上小文件特别多,整体数据量不大,每个分区却有几百个小文件。一个小文件需要在nameNode中维护一份元数据(目录、大小、权限等信息) ,占用的资源是 150字节(Byte),100个小文件则占用 14.6KB。本文介绍如何使用 COALESCE 和 REPARTITION 来解决这种问题原创 2023-01-09 20:15:00 · 984 阅读 · 0 评论 -
使用kettle同步全量数据到Elasticsearch(es)--elasticsearch-bulk-insert-plugin应用
介绍了如何基于kettle的elasticsearch-bulk-insert-plugin插件将数据导入es。如果你的es版本是7及以上 或者设置了ssl 认证,kettle自带的插件是不支持的。这里提供了解决方案及简单应用的demo原创 2023-01-06 19:00:00 · 7761 阅读 · 3 评论 -
mysql/oracle 数据库delete操作太慢(where ... in ...),不加索引,一招让性能提升百倍
delete操作应用虽然不多,但是有些场景使用起来还是更方便。所以对于一些大表,有时还是需要 硬删操作,也就是delete操作 。 delete from table_a where id in (select id from table_b); 不需要新增索引,经过sql 优化后性能提升了100倍原创 2023-01-03 19:30:00 · 9206 阅读 · 2 评论 -
mysql 批量数据插入很慢(kettle 输入输出组件) 性能优化办法
最近在做数仓重构项目,遇到一些性能瓶颈,这里记录一下解决办法。随着业务数据每天都在增加,几年前开发的etl任务开始跑不动了。大表一般是通过增量的方式插入,但是修复bug 或者每月/季度跑一次的情况 需要跑全量,原来的etl任务可能需要跑几个小时,甚至出现超时失败的情况。因此需要优化,下面介绍一些优化方法。(项目是用kettle做的,如果使用其他开发工具,也可以参考下面的思路)1、配置数据库连接参数2、去掉临时表 DDL的primary key3、调整输出组件的数量4、暂时关闭索引。原创 2022-12-29 11:37:08 · 8574 阅读 · 1 评论 -
如何将 txt、xlsx、excel 文件上传hive 或者 kudu
大数据开发过程中,难免需要上传手工数据到表中,这里介绍常见的几种上传方法。1、txt 上传hivea、首先注意解决乱码问题,需要将txt另存成 udf-8。只需要用记事本打开,然后另存即可。b、在hive上建表(txt 文件的数据是用 逗号 “,” 隔开的)c、将 txt 文件上传到服务器中,然后执行下面的sql:如果需要覆盖原来的table,执行下面的语句:2、xlsx(excel )表格类文件上传a、先将文件另存为 .csv(逗号隔开) 文件接下来的步骤 同上面 1、txt 上传hiv原创 2022-07-11 20:59:55 · 2232 阅读 · 0 评论 -
基于explain分析进行SQL优化(实例分析)
背景最近遇到一个问题,实现相同功能的几个 sql 不知道哪个最优。当然直接测试可以得到最终结论,但是还是不知道为啥慢,为啥快,还可以怎么样再进行优化?这些问题没有解决。下面通过一个实例来介绍下 sql 优化神器 Explain,它可以辅助进行 sql 优化。案例存在两张表,第一张表是item表(10w+),存储了人力资源分配单据的概要信息(存储了id、company_id、sn),第二张表是detail(1000w+)表,存储了人力资源分配单据的详细信息(存储了id、company_id、sn和per原创 2022-03-04 22:00:00 · 2125 阅读 · 1 评论 -
浅谈 数仓建设之 数据同步(离线)及 sqoop、flume、dataX 原理简介
简介在数仓建设中,数据同步是最基础的一步,也是 ods 层数据的来源。数据同步 简而言之,就是把 业务库中的需要分析的数据表(或文件) 同步到 数仓中(hdfs)。同步的方式可以分为3种:直连同步、数据文件同步、数据库日志解析同步。下面将进行详细介绍。详解1、直连同步直连同步是指通过定义好的规范接口api 和动态链接库的方式直连业务库。优点:配置简单,实现容易,比较适合操作型业务系统的数据同步。缺点:1、直连的方式对源系统的性能影响较大,甚至可能拖垮业务系统;2、数据量很大时,性能很差原创 2022-02-23 15:25:25 · 4964 阅读 · 4 评论 -
一次spark sql 优化的经历: SparkException: Job aborted / spark.yarn.executor.memoryOverhead
问题背景某天 跑 sparkSQL 的时候,遇到报错:org.apache.spark.SparkException: Job aborted.at org.apache.spark.sql.execution.datasources.FileFormatWriter.write(FileFormatWriter.scala:198)atorg.apache.spark.sql.hive.execution.SaveAsHiveFile.write(FileFormatWriter.scala:198原创 2022-02-17 19:26:33 · 6670 阅读 · 0 评论 -
spark(sparkSQL)报错 WARN TaskMemoryManager: Failed to allocate a page (bytes), try again.
背景最近在跑 sparkSQL的时候,执行到一半,频繁打印日志报错:WARN TaskMemoryManager: Failed to allocate a page (104876 bytes), try again.WARN TaskMemoryManager: Failed to allocate a page (104876 bytes), try again.…原因执行任务的内存不够,需要频繁回收资源解决办法1、优化sql脚本。(首选,当时我就是这么解决的)2、增加driver内原创 2022-02-15 21:45:00 · 3879 阅读 · 0 评论