大数据开发
文章平均质量分 62
大模型大数据攻城狮
在阿里巴巴等多种类型公司工作过,第一份工作是在大厂做移动开发,后来在创业公司由于团队需要做后台开发、嵌入式开发等几乎全栈开发,最近这些年还保持必要全栈开发,精力更多在大数据、大模型等领域。
展开
-
好用到爆,用扣子(coze.cn)搭建自己第一个提升工作效率工具(Hive SQL转Impala SQL助手)过程分享
工作经常要写离线数仓的SQL,由于历史项目很多是用Hive SQL写的,而在调试阶段,用Hive查询实在是太慢了。修改后果然匹配到知识库返回了,在自己知识库增强后,测了几个例子,回答的结果也从原来不正确的到现在的完全正确。以后工作可以不自己苦逼改sql,直接丢给扣子来自动完成了。把这一份word文档上传到扣子知识库后,发现调用hive 的split函数后要求转化为impala,扣子提示知识库无召回。由于自己是用sql,如果用语义搜索觉得效果并不是很好,把搜索策略修改为混合,最小匹配度进行调低。原创 2024-09-29 16:58:18 · 366 阅读 · 0 评论 -
Deequ教程来监控Spark/Hive离线数仓的数据质量实用教程
Deequ是AWS开源的一款基于Apache Spark的库,用于定义和验证数据质量规则。它通过声明式API允许用户定义一系列数据质量检查,并自动执行这些检查来评估数据集的质量,特别适合大数据处理场景,如Spark和Hive数据仓库。Completeness("column_name").isComplete, // 检查column_name列是否完整Uniqueness("unique_column").isUnique // 检查unique_column列是否唯一。原创 2024-07-30 23:48:38 · 462 阅读 · 0 评论 -
用海豚调度器api启动工作流错误排查
不在任务节点列表中。这意味着在DAG定义中,可能没有包含这个节点,或者节点的名称有误。认真检查一下,果然是启动工作流时,任务节点的名称写得有问题,重新修改后果然正常启动工作流了。在海豚调度器用api启动工作流,在海豚调度器的工作流实例看到是启动失败,但在任务失例又没看到。看启动工作流的代码觉得好像没问题,一时不得其解。原创 2024-07-19 23:59:21 · 307 阅读 · 0 评论 -
Flink实时开发添加水印的案例分析
在Flink中,处理时间序列数据时,通常需要考虑事件时间和水印(watermarks)的处理。原创 2024-07-12 23:57:14 · 644 阅读 · 0 评论 -
海豚调度器执行impla工作流成功但没跑出数据原因和解决方案
在海豚调度器(DolphinScheduler)中执行Impala离线脚本时出现执行状态成功但实际上未产出数据,之后重跑又能成功的情况,可能是由多种因素引起的。原创 2024-07-12 23:56:13 · 423 阅读 · 0 评论 -
spark运行报错:Container killed by YARN for exceeding memory limits
通常情况下,Executor 的内存需求可能超过你为其分配的内存,这是因为除了应用程序的堆内存(Heap Memory)之外,还有一些额外的开销,例如操作系统本身、JVM 的非堆内存(如代码缓存、线程栈等)、以及 Spark 的内部开销。在 Spark 中,每个 Executor 进程都会有自己的容器,并且这个容器的内存使用是由 YARN 监控的。如果你确定你的应用程序不会滥用虚拟内存,并且你的节点有足够的交换空间来处理可能的内存溢出,你可以禁用 YARN 的虚拟内存检查,通过设置。原创 2024-07-11 15:23:01 · 1182 阅读 · 0 评论 -
如何查看Impala集群的状态和日志
【代码】如何查看Impala集群的状态和日志。原创 2024-07-09 23:58:04 · 565 阅读 · 0 评论 -
海豚调度器(DolphinScheduler)修改时区为东八区
海豚调度器设置了定时,执行的时间和设置时间不同,后来排查发现是时区问题。原创 2024-07-09 23:50:05 · 788 阅读 · 0 评论 -
数据仓库数据质量检测的免费开源框架对比及应用场景
数据仓库的数据质量检测是确保数据分析可靠性的关键环节。幸运的是,有许多开源框架和工具可以帮助我们实现这一目标。选择合适的工具时,应考虑项目规模、数据源类型、团队技术栈以及是否有特定的集成需求。每种工具都有其独特的优势和局限性,因此,综合评估并选择最符合自己项目需求的工具是关键。原创 2024-06-29 23:41:25 · 854 阅读 · 0 评论 -
Flink ProcessFunction不同流异同及应用场景
状态管理与事件时间:所有函数均支持事件时间和水位线处理,状态管理(除了),但Keyed系列额外支持键控状态。流处理处理多个流,而和支持广播状态传播。窗口处理和专用于窗口处理,前者基于键控窗口,后者处理全窗口数据。灵活性和最为灵活,适用于广泛的复杂逻辑处理;在窗口上下文中提供了额外的处理能力。原创 2024-06-28 22:30:38 · 1364 阅读 · 0 评论 -
Flink 时间窗口在 IoT 项目中的应用实战
本文将通过实际案例,详细介绍 Flink 中的滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)和会话窗口(Session Window)在 IoT 项目中的应用。滚动窗口适用于需要固定时间间隔统计的场景,滑动窗口适用于需要连续更新统计的场景,而会话窗口适用于需要检测活动会话的场景。在这个项目中,我们可以使用会话窗口来分析用户在一定时间内的操作记录,识别用户的活跃度和偏好。接下来,我们将通过三个实际的 IoT 项目案例,详细介绍如何在 Flink 中应用这三种时间窗口。原创 2024-06-26 08:24:39 · 770 阅读 · 0 评论 -
在大数据(hive/doris)检测源数据中的脏数据和异常数据
创建或使用现有的UDFs(用户自定义函数):Hive支持Java编写自定义函数,可以用来检测特殊格式的数据错误或执行复杂的数据清洗逻辑。原创 2024-06-25 09:17:12 · 591 阅读 · 0 评论 -
PySpark清空mysql的表数据代码(亲测可用)
直接使用插入空数据的方式来“清空”表并不是传统意义上的清空(truncate或delete操作),但如果你想通过Pyspark实现类似效果,可以考虑先创建一个空的DataFrame,然后覆盖写入到目标表中。请注意,这种方法会依赖于你的MySQL配置是否允许覆盖写入操作,且在大量数据情况下效率较低。请注意,这种方法的一个重要限制是它要求你明确地定义目标表的结构,这可能在表结构复杂或频繁变动时变得不够灵活。此外,对于非常大的表,尽管它能达到“清空”的目的,但效率和资源消耗可能不如直接使用。原创 2024-06-21 09:02:01 · 220 阅读 · 0 评论 -
RichSinkFunction 在 Flink IoT 项目中的应用实战
在 Flink 中,SinkFunction 是用于将数据流输出到外部系统的函数。与普通 SinkFunction 不同,RichSinkFunction 提供了更多的功能和灵活性。它允许用户访问 Flink 运行时的上下文信息,如状态管理、计时器和广播变量等。此外,RichSinkFunction 还可以处理异步 I/O 操作,提高数据输出的效率。原创 2024-06-14 23:15:24 · 877 阅读 · 0 评论 -
海豚调度器调用api接口来获取工作流信息(获取processDefinitionId)
详细介绍processDefinitionId通过t_ds_process_definition来获取,并没有详细介绍如何用api调用。下面详细介绍如何用api获取。原创 2024-06-06 09:11:00 · 468 阅读 · 0 评论 -
如果调试解决python的Py4JJavaError(u’An error occurred while calling o90.load.\n’, JavaObject id=o91))
没查到结果并打印结果如下:’Error executing query:’, Py4JJavaError(u’An error occurred while calling o90.load.\n’, JavaObject id=o91),一脸懵逼,不知什么地方出错。属性来获取 Java 端抛出的异常实例,进而获取其中的错误消息和堆栈信息。重新运行后果然报错信息很详细,查找出具体的问题了。要获取更详细的错误信息,可以通过访问。# 从数据库加载数据。原创 2024-05-31 07:05:18 · 268 阅读 · 0 评论 -
如何在海豚调度器自动监测报表是否跑出数据
在数据仓库报表开发时,有的报表依赖的表多,虽然在海豚调度任务上是跑成功,但实际上没有跑出数据来。开发人员负责的任务和表越来越多,每天去手动检查费时费力,不去理睬默认是成功的,等到业务或产品发现问题时,又给人一种不专业不负责的感觉。比较好的方式是用代码进行自动巡检,由于项目现在是用海豚调度器,为了统一及利用海豚调度器的失败通知,下面用海豚调度器来实现自动监测报表是否跑出数据来。原创 2024-05-24 06:57:04 · 491 阅读 · 0 评论 -
Hive分区表跨集群迁移保姆间教程
集群1下,shell命令行执行 hive -e "show partitions table_name" > partitions.txt,table_name要换成要执行的表名,例如这里是test.analysis_events。给集群2的同名hive表添加分区,数据就会自动加载到Hive表中,在partitions.txt同个目录下,编写python脚本如下。然后python python脚本.py,就可以看到不断添加动态分区。对于每个分区,将数据打包为便于传输的格式,例如使用tar。原创 2024-05-16 17:16:27 · 442 阅读 · 0 评论 -
如何限制spark任务占用yarn资源的最大内存和cpu
请注意,设置资源限制时需要考虑作业的实际需求,以避免资源不足导致作业执行失败。同时,您可能需要与集群管理员协商,以确保作业的资源请求不会超过集群的容量。参数允许您设置非常多的 Spark 配置选项,包括与资源相关的。您可以通过查看 Spark 的官方文档来了解更多关于这些配置的详细信息。提交 PySpark 作业时,可以通过设置一些参数来限制任务占用的 YARN 资源,包括内存和CPU。为了限制作业的最大资源使用,您可以调整上述参数。原创 2024-05-15 07:04:11 · 433 阅读 · 0 评论 -
海豚调度器如何看工作流是在哪个worker节点执行
用海豚调度器,执行一个工作流时,有时成功,有时失败,怀疑跟worker节点环境配置不一样有关。要怎样看是在哪个worker节点执行,在。海豚调度器 Web UI 中,您可以查看任务实例,里面有一列显示host,可以根据host看是哪一个worker节点运行。原创 2024-05-15 07:02:44 · 227 阅读 · 0 评论 -
解决datax写入hdfs到hive查不到数据
命令可以查看到文件,但是在Hive中查询数据为空。atax写入到Hive表的过程中。datax日志显示成功,使用。把上面的表修改为非分区表,再次写入时果然有数据了。原创 2024-05-14 08:20:09 · 728 阅读 · 0 评论 -
海豚调度器早期版本如何新增worker分组
在DolphinScheduler 1.3.5版本中,Worker分组通常是在部署时通过配置文件进行定义的,而不是在用户界面上直接操作。请注意,具体的配置文件和参数可能会根据DolphinScheduler的不同版本而有所变化。如果你不确定如何操作,可以查阅DolphinScheduler的官方文档或在社区寻求帮助。原创 2024-05-13 07:05:19 · 290 阅读 · 0 评论 -
分布式集群中Python读写本地路径的问题与解决方案
在分布式环境中,使用本地路径进行Python脚本的读写操作可能会遇到各种问题。在分布式环境中,每台机器的本地文件系统是独立的。如果Python脚本中使用了本地路径,那么在一台机器上运行正常的脚本在另一台机器上可能会因为路径不存在或权限问题而失败。这样,您就可以在分布式环境中安全地读写数据,而不用担心本地路径的问题。每台机器的磁盘空间可能不同,如果脚本在空间较小的机器上运行,可能会因为磁盘空间不足而失败。使用本地路径的脚本在不同环境间迁移和维护时,需要为每台机器分别配置路径,增加了维护难度。原创 2024-05-12 23:34:40 · 269 阅读 · 0 评论 -
迁移一台服务器上运行的shell脚本到海豚调度器需要考虑问题
通过以上步骤,可以确保SHELL脚本在迁移到海豚调度器后能够稳定、高效地运行。同时,要确保整个迁移过程中,遵循项目的实际情况,保障数据迁移工作的连续性和正确性。原创 2024-05-11 09:10:36 · 477 阅读 · 0 评论 -
分布式集群中Python读写本地路径的问题与解决方案
在分布式环境中,使用本地路径进行Python脚本的读写操作可能会遇到各种问题。在分布式环境中,每台机器的本地文件系统是独立的。如果Python脚本中使用了本地路径,那么在一台机器上运行正常的脚本在另一台机器上可能会因为路径不存在或权限问题而失败。这样,您就可以在分布式环境中安全地读写数据,而不用担心本地路径的问题。每台机器的磁盘空间可能不同,如果脚本在空间较小的机器上运行,可能会因为磁盘空间不足而失败。使用本地路径的脚本在不同环境间迁移和维护时,需要为每台机器分别配置路径,增加了维护难度。原创 2024-05-11 09:10:07 · 254 阅读 · 0 评论 -
Flink ValueStateDescriptor使用实例
在Apache Flink中,是用于定义状态的一种数据结构,它允许你为每个键(key)存储一个值(value)。状态是 Flink 流处理模型的核心概念之一,它允许你在任务失败和恢复时保持数据的一致性。原创 2024-05-10 08:23:25 · 457 阅读 · 0 评论 -
利用kimi等大模型进行运维参数解析和调优
在运维时,经常遇到很多参数,有些参数不知道意义,知道意义的也有些不知道合理参考值是多少。利用kimi等大模型来当老司机,轻松解决运维难题。例如在运维hive参数时,有些不知道作用,提示次如下。原创 2024-04-29 23:04:26 · 319 阅读 · 2 评论 -
hive创建hbase外部关联表实例
在cdh6.3.2已经做好hbase和hive相关配置,这里不阐述。要创建上述的表结构,你需要先在HBase中创建相应的表,然后在Hive中创建一个EXTERNAL TABLE来映射到这个HBase表。原创 2024-04-27 23:29:59 · 1114 阅读 · 1 评论 -
hbase MultiRowRangeFilter的原理、作用和实例
是HBase中的一个过滤器,用于在扫描操作中过滤多个行键范围。原创 2024-04-26 23:33:31 · 482 阅读 · 2 评论 -
数仓开发LAG 和 LEAD 函数详细解析和用例
在做Iot大数据开发时,需要用到lag和lead函数来计算设备故障。下面详细解析lag和lead函数的作用和例子。LAG和LEAD函数是用于在 Spark SQL 中进行窗口函数操作时常用的两个函数,它们用于获取某一行在分组内的前一行或后一行的数值。原创 2024-04-25 23:57:14 · 776 阅读 · 2 评论 -
Spark的Master、Worker、Dirver和Executor,对比Flink的Jobmanager、Taskmanager、Slot异同
而Flink中的Slot是Taskmanager的资源单元,可以理解为一台计算机的一个CPU核心。它就像一个公司的CEO,负责制定战略和协调各个部门的工作。而Flink中的Jobmanager也负责任务的调度和资源管理,但它更像是一个项目经理,负责具体项目的执行和监控。Spark中的Worker负责执行具体的任务,就像公司的员工,按照CEO的指示完成各自的工作。而Flink中的Taskmanager也负责执行任务,但它更像是一个团队,成员之间可以共享资源,协同完成任务。原创 2024-04-24 22:56:58 · 319 阅读 · 1 评论 -
用Flink开发实时数仓,用hase还是doris存储维度表选型对比
Doris是一个基于MPP(Massively Parallel Processing)架构的分布式列式存储数据库,具有高性能、高可用性和高扩展性。Doris适用于大规模数据分析和实时查询场景,特别是对实时性要求较高的场景。在实际应用中,也可以将两者结合使用,以满足不同场景的需求。在使用Flink开发实时数仓时,选择合适的存储方案对于保证数据的实时性、一致性和可用性至关重要。在这里,我们将对比Doris和HBase,以帮助您做出决策。HBase适用于需要实时读写的场景,特别是对实时性要求较高的场景。原创 2024-04-19 08:31:43 · 759 阅读 · 0 评论 -
可视化ETL解决方案:Apache NiFi、DataX(加上DataX-Web)、Kettle这3个解决方案对比
Apache NiFi是一个易于使用、功能强大的可视化ETL工具,它提供了一套直观的图形界面,让用户可以轻松地设计、管理和监控数据流。DataX是阿里巴巴开源的一款高性能、分布式、易用的数据同步工具,它支持多种数据源和目标系统,具有优秀的性能和稳定性。DataX-Web是DataX的Web版本,提供了可视化的操作界面,简化了数据同步任务的配置和管理。Kettle是一款成熟、稳定的开源ETL工具,它提供了丰富的数据处理组件和可视化界面,支持多种数据源和目标系统。原创 2024-04-15 23:27:15 · 1764 阅读 · 0 评论 -
数据仓库的分层理论
数据仓库的分层理论是为了更好地组织和管理数据,支持复杂的数据分析和决策支持。在这一理论中,数据仓库被分为多个层次,每个层次都有其特定的作用和设计原则。以下是每一层的详细介绍,以及以销售人员为例的Doris建表实例。原创 2024-03-24 07:10:19 · 565 阅读 · 0 评论 -
微信小程序语音识别、语音合成(微信同声传译)使用代码实例
最近在开发一款“单词大作战”的微信小程序,想增加语音识别、语音合成这2个功能。(让用户能听到单词的读音,并对比自己读音是否标准正确)。查了一下资料,大概有几种方式:用百度翻译(需要配置后台来转发)、讯飞(听说效果最好,但好像要收费并要配置后台来转发 )。还有用微信同声传译插件。微信同声传译插件使用最方便,目前功能还是尽善尽美,但一直在升级,是个人开发者不错的选择。用微信扫描下面小程序可以体验语音合成和语音识别的功能:官方的开发文档:https://mp.weixin.qq.com..原创 2021-04-19 22:30:30 · 2885 阅读 · 4 评论 -
精心挑选的100多种机器学习数据集
毫无疑问,每个人都知道,学习数据科学和机器学习的唯一最佳方法是通过执行各种项目来学习它们。老实说,您周围有很多现实世界的机器学习数据集,即使您不必完成全面的数据科学或机器学习课程,也可以选择练习基础数据科学和机器学习技能。但是是的,数据科学和机器学习项目绝对没有其他选择。大多数数据科学和机器学习初学者做错的事情是,他们只是专注于学习许多理论概念,而等待太长时间才能启动专注于该概念的实际实现的机器学习/数据科学项目。毫无疑问,从理论上讲清楚您的机器学习概念总会很好,但是如果没有获得相关的实际经验,您就无法期望原创 2021-03-07 16:43:36 · 4885 阅读 · 0 评论 -
SparkStreaming Direct方式读取kafka优缺点及示例(Redis保存offset)
在Spark1.3之后,引入了Direct方式。不同于Receiver的方式,Direct方式没有Receiver这一层,其会周期性地获取Kafka中每个topic(主题)的每个partition(分区)中的最新offsets(偏移量),之后根据设定的maxRatePerPartition来处理每个batch。其形式如下图所示。这种方法相较于Receiver方式的优势在于:● 简化的并行。Direct方式中,Kafka中的partition与Spark内部的partition是一一对应的,这点使原创 2021-03-07 16:37:32 · 390 阅读 · 0 评论 -
使用Spark SQL来分析网络日志
case class ApacheAccessLog( ipAddress: String, // IP地址 clientId: String, // 客户端唯一标识符 userId: String, // 用户唯一标识符...原创 2018-12-18 10:13:56 · 287 阅读 · 0 评论 -
Spark数据挖掘实例1:基于 Audioscrobbler 数据集音乐推荐
本实例来源于《Spark高级数据分析》,这是一个很好的spark数据挖掘的实例。从经验上讲,推荐引擎属于大规模机器学习,在日常购物中大家或许深有体会,比如:你在淘宝上浏览了一些商品,或者购买了一些商品,那么淘宝就会根据你的偏好给你推荐一些其他类似的商品。然而,相比较其他机器学习算法,推荐引擎的输出更加的直观,有时候的推荐效果让人吃惊。作为机器学习开篇文章,本篇文章会系统的介绍基于Audioscro...原创 2019-01-08 11:00:05 · 3804 阅读 · 0 评论 -
Spark ML机器学习:SQLTransformer
我们都很喜欢sql语句,简单好用又熟悉,那么Spark ML很人性化的为我们提供了SQLTransformer类,使得我们能用我们熟悉的SQL来做特征转化。它支持SparkSql中的所有select选择语句,sum(),count(),group by,order by等等都可以用!形如”SELECT …FROM __THIS__”。’__THIS__’代表输入数据的基础表。SQLTransf...原创 2019-02-14 15:56:51 · 897 阅读 · 0 评论