大数据
文章平均质量分 64
大数据组件与大数据集群
长行
这个作者很懒,什么都没留下…
展开
-
TableStore|Python SDK 的 DML 操作文档索引
创建 OTS 客户端对象(原创 2024-04-24 17:21:36 · 754 阅读 · 0 评论 -
TableStore|Python SDK 选择返回的列
返回多元所有中的所有列。原创 2024-04-24 11:52:05 · 202 阅读 · 0 评论 -
Hive|pyhive 在同一个集群的多个 Hive Server 之间负载均衡
因此,我们只能在每次创建 Hive 连接时,通过在多个 Hive Server 中随机选择一个,来模拟实现 Hive Server 的负载均衡。参数类似 Kafka 集群时的逗号或其他符号分隔多个节点的写法。显然,这样的实现方法不可能支持。查看 pyhive 的。原创 2024-02-22 14:09:39 · 399 阅读 · 0 评论 -
Hive|Hive 随机抽样方法(TABLESAMPLE 方法、随机数方法)
获取的 20 行和不加该字句获得的前 20 行相同,怀疑可能就是抽取 HDFS 文件中从前往后获取到满足指定条件的行数。也可能是我的使用方法有问题,如有更优方法欢迎指出。最简单的随机抽样,就是将所有给所有记录添加一个随机数,然后排序筛选其中最小的目标条数即可。在 Hive 中,对于。但是,经过以上语句测试,这个语法似乎不是随机抽样,我发现使用。字句用于从 Hive 中抽取样本数据。是有优化的,不会出现全量排序导致数据倾斜的问题。中随机抽取 1000 条样本数据。原创 2024-01-19 13:06:40 · 556 阅读 · 0 评论 -
Hive|数据倾斜产生原因及处理方法
因为在读数据时,通常一个 task 负责一个或多个 HDFS 中的文件,而 HDFS 中的文件大小通常相对均匀,所以以 HDFS 为上游(即以 HadoopRDD 为第一个 operator)的 stage 通常不会出现数据倾斜。在 Spark SQL 中,上游 stage 的最后一个算子不限(通常为 mapPartitions),下游 stage 的第一个算子通常为 groupByKey 算子。因此,大部分数据倾斜的场景,都出现在计算过程中的重分区之后的 stage。原创 2024-01-09 23:36:38 · 914 阅读 · 0 评论 -
Hive|INSERT OVERWRITE 同时复制多个分区
如果新表还没有被创建,则需要获取旧表的建表语句,并根据旧表的建表语句创建新表。|因为我们需要动态的创建分区,所以需要在插入前需要将。|验证新表目标分区的记录数与旧表是否一致。语句,指定动态分区写入多个分区的数据。非严格模式,令所有分区都是动态的。中多个分区中的数据,复制到新表。原创 2024-01-08 22:45:19 · 430 阅读 · 0 评论 -
Hive|使用添加随机数避免 GROUP BY 数据倾斜的方法
虽然在第二次聚合时,数据仍然倾斜,但是因为在第一次聚合后,数据量已经极大减少,所以纵使仍然存在倾斜但也不会太慢。字段进行第一次聚合统计,在这次聚合时,因为随机数的存储,可以保证之前处理数据量最大的 Task 会被拆分为 100 份,随机分配到其他的 Task 中,环节了数据倾斜;进行第一次聚合统计,在这次聚合中,最大的 Task 也只会包含 100 个任务,数据倾斜也不会很严重。聚合时,负责处理 1 和 2 的任务会被分配到绝大部分的任务,数据倾斜非常严重。字段的一次聚合,改为两次聚合。原创 2023-12-19 18:41:41 · 448 阅读 · 0 评论 -
Hive|转义符规则整理
在 Hive 正则表达式中,该字符串首先会被 Java 语法解析一次,然后又会被正则表达式解析一次。因此,如果需要在 Hive 的正则表达式中添加。因为 Hive 使用 Java 语法来解析和处理字符串,所以同 Java 的字符串一样,如果要在 Hive 的字符串中添加。(Java 解析后的字符串)视作转义符,所以如果需要在正则表达式中添加。都需要时 Java 语法解析后的字符串中的。在正则表达式中,因为会将字符串中的。实现两层自身转义,即。,则需要使用 4 个。测试字符\\测试字符。原创 2023-12-14 15:37:13 · 777 阅读 · 0 评论 -
Redis|过期 key 的删除机制
通过上述机制,我们可以理解如下场景:当我们使用scan 和get命令遍历一个已经存在较长时间的数据库时,Redis 监控中的 key 数量、占用内存下降:因为数据库已经存在较长时间,根据主动清理机制,其中应存在接近 25% 的已过期的 key。当我们遍历数据库中的所有 key 时,会触发被动清理机制,导致这些已过期的 key 被删除,从而使监控中的 key 数量和内存占用下降。当我们再次遍历该数据库时,key 数量和占用内存就不会下降了。原创 2023-11-23 20:45:22 · 178 阅读 · 0 评论 -
大数据|海豚调度官方文档优化 —— 3.7.3 资源文件管理
因为官方文档经常出现文档散乱、图片加载缓慢、机器翻译、中文名对应关系较差,且存在部分链接异常的情况,所以我将其重新整理、翻译、排版以方便阅读。同时补充了一些注解及中英文对应关系。原创 2023-11-19 18:21:32 · 177 阅读 · 0 评论 -
Kafka|Python API 使用样例
【代码】Kafka|Python API 使用样例。原创 2023-11-07 12:58:09 · 98 阅读 · 0 评论 -
大数据|海豚调度官方文档注解(4)
本样例展示了如何使用本地参数,打印输出当前日期。创建一个 Shell 任务,并编写脚本内容为echo ${dt}。点击配置栏中的自定义参数,配置如下图所示:dt:参数名IN:IN 表示局部参数仅能在当前节点使用,OUT 表示局部参数可以向下游传递DATE:数据类型,日期:自定义格式的衍生内置参数保存工作流并运行,查看 Shell 任务输出日志。注:本地参数可以在当前任务节点的工作流中,设置其为 OUT 则可以传递给下游的工作流使用,可以参考:3.3.4 - 参数传递。原创 2023-10-23 23:21:56 · 723 阅读 · 0 评论 -
大数据|海豚调度官方文档注解(3)
该样例模拟了自定义参数任务,为了更方便的复用已有的任务,或者面对动态的需求时,我们会使用变量保证脚本的复用性。本例中,我们先在自定义脚本中定义了参数 “param_key”,并将他的值设置为 “param_val”。接着在"脚本"中声明了 echo 命令,将参数 “param_key” 打印了出来。当我们保存并运行任务后,在日志中会看到将参数 “param_key” 对应的值 “param_val” 打印出来。原创 2023-10-22 22:47:19 · 2469 阅读 · 0 评论 -
大数据|海豚调度官方文档注解(2)
Apache DolphinScheduler 首页可让您查看用户所有项目的任务状态统计、工作流状态统计和项目统计。这是观察整个系统状态以及深入各个进程以检查任务和任务日志的每个状态的最佳方式。【Step 1】点击 Project(项目管理) -> Workflow(工作流) -> Workflow Definition(工作流定义),进入工作流定义页面,点击 “Create Workflow(创建工作流)” 按钮,进入工作流DAG编辑页面,如下图所示:【Step 2】工具栏中拖拽。原创 2023-10-22 16:53:50 · 829 阅读 · 0 评论 -
Redis|INFO 命令结果指标详解
下文中没有官方注释的指标,可能是华为云 Redis 特有的指标。原创 2023-10-18 19:04:16 · 921 阅读 · 0 评论 -
Redis|计算数据库中每个键平均内存占用的 Python 工具函数
具体地,在数据库 redis_conn 中,有放回地随机抽取 n_sample 个样本,并计算这些样本的平均内存占用。计算 Redis 中某个数据库中每个键的平均内存占用。原创 2023-10-17 19:55:04 · 60 阅读 · 0 评论 -
Kafka|Python API 常用工具类
【代码】Kafka|Python API 常用工具类。原创 2023-10-17 11:47:43 · 89 阅读 · 0 评论 -
Redis|字符串相关命令整理
【代码】Redis|字符串相关命令整理。原创 2023-10-13 17:02:42 · 22 阅读 · 0 评论 -
Redis|常用命令整理
GETINCRSET。原创 2023-10-10 20:30:19 · 49 阅读 · 0 评论 -
大数据|海豚调度官方文档注解(1)
Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。解决数据研发 ETL 依赖错综复杂,无法监控任务健康状态的问题。原创 2023-10-09 23:29:16 · 792 阅读 · 0 评论 -
Redis|基本概念学习【学习笔记】
分值相同的节点将按照成员对象在字典序中的大小来进行排序,成员对象较小的节点会排在前面(靠近表头的位置),而成员对象较大的节点会排在后面(靠近表尾的位置)。在进行 RDB 时,主进程会拉起一个子进程,子进程将数据集写入到一个临时 RDB 文件时,当子进程完成对新 RDB 文件的写入时,Redis 会用新的 RDB 文件替换原来的 RDB 文件,并删除旧的 RDB 文件。当使用 ZIPLIST 时候,使用两个相邻的压缩列表节点来存储元素和分支,其中第一个节点保存元素的成员,第二个节点保存元素的分值。原创 2023-10-08 23:37:57 · 31 阅读 · 0 评论 -
大数据|《Doris 实践:货拉拉大数据 Doris 稳定性保障实践》学习笔记
容量监控:CPU、内存、磁盘、doris_be_add_batch_task_queue_size、doris_fe_query_latency_ms、doris_be_plan_fragment_count。服务高可用:主要依赖Doris自身的能力,引入负载均衡绑定后端,实现连接数的均衡,以及读写高可用。链路高可用:支持异常重试和电话告警,数据支持幂等操作。原创 2023-09-26 13:29:09 · 176 阅读 · 0 评论 -
大数据|数仓分层的概念【学习笔记】
维度表,也称查找表,是与事实表相对应的已中标;它保存了维度的属性值,可以跟事实表做关联,相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。事实表,是指存储事实记录的表,比如系统日志、销售记录等。事实表的记录在不断地增长,所以事实表的体积通常远大于其他表。常见的维度表有:日期表(存储日期对应的周、月、季度等的属性)、地点表(包含国家、绳、州、城市等属性)原创 2023-09-23 11:59:59 · 130 阅读 · 0 评论 -
Hue|从 Hive 下载数据到本地
然后进入 Hue 的文件浏览器,找到写出 HDFS 文件,选择 “操作” - “下载” 即可下载到本地。需要每个文件单独点击下载,不支持多个文件一起下载。原创 2023-09-22 16:59:45 · 286 阅读 · 0 评论 -
Hue|设置 Hive 的执行队列(Hue 和 pyhive)
【代码】Hue|设置 Hive 的执行队列(Hue 和 pyhive)原创 2023-09-22 13:39:18 · 373 阅读 · 0 评论 -
Hue|在 Hue 查看 Hive 集群的方法
方法一:点击 Hue 左下角的头像,然后在出现的小窗口上选择 Desktop Setting。在页面上可以看到 Hive Server 中的集群地址和集群端口。方法二:直接访问如下地址。(Hue 首页地址为。原创 2023-09-22 11:49:06 · 141 阅读 · 0 评论 -
大数据|数据湖的基本概念【学习笔记】
有足够的数据存储能力可以存储任意类型的数据,包括结构化、本结构化和非结构化数据数据都是原始数据具备数据管理能力具有多样化的分析能力具有完善的数据生命周期管理能力(保存各类处理的中间结果,记录数据的分析处理过程)具备完善的数据获取和发布能力(支持各种各样的数据源,支持各种各样的访问需求)具有可拓展的大规模存储和处理能力。原创 2023-09-20 23:08:57 · 63 阅读 · 0 评论 -
ElasticSearch|validation_exception分片溢出解决方法
因为 ES 集群中部分节点的分片数超过的 ES 集群每个节点分片数最大值。ES 每个节点分片数最大值的参数文档如下(修改 ES 集群配置的最大桶数上限。关闭 ES 集群中的部分索引。原创 2023-04-26 09:53:05 · 737 阅读 · 0 评论 -
ElasticSearch|ES 快速批量查询 doc 的 _id 的方法
Elasticsearch 批量查询 doc id 的方法原创 2023-01-01 22:55:55 · 2948 阅读 · 0 评论 -
ElasticSearch|ES 翻页性能优化方法
经过测试,在 7.10.2 版本环境下,在 slice 数量超过 shards 数量时,约需查询约 60% - 70% 后 ES 才能完成拆分过程,在完成拆分前,所有进程 scroll 的速度之和与单进程 scroll 的速度基本相同。使用 FilterContext 代替 QueryConext,因为 filter 查询子句的性能优于 query 查询子句,filter 查询子句不需要计算相关性的分值而 query 查询子句需要计算相关性的分支,filter 查询子句的结果可以缓存。原创 2023-04-13 20:37:52 · 673 阅读 · 0 评论 -
ElasticSearch|ES 查询性能调优记录
在查询测试用例 2 时,将每次 scroll 获取的记录数从 1000 增加到 10000。表示按索引顺序排序,也是最高效的排序方法。如果不关心返回文档的顺序的话,那么就应按。在 ElasticSearch 的官方文档中,说明了。进行排序以提高查询性能。原创 2023-03-14 13:43:34 · 491 阅读 · 0 评论 -
ElasticSearch|too_many_buckets_exception解决方法
因为聚合查询的桶数超过了 ES 集群配置的最大桶数的上限。ES 聚合查询最大桶数的参数文档如下(原创 2023-04-25 13:35:06 · 1561 阅读 · 1 评论 -
ElasticSearch|ES 连接超时及创建连接失败问题定位过程记录
ES 容器的 rss 占用是否显著下降:因为 ES 会为自身分配一定数量的内存作为缓存,并将其保留在 RSS 中,所以通常来说 ES 的 RSS 为相当稳定,如果出现显著下降,则说明 ES 主进程可能被杀掉过。ES 容器的 cache 占用是否显著下降:因为如果服务器内存不足,则会优先清理各个容器的 cache,所以如果 ES 的 cache 显著下降,则说明可能出现过服务器内存严重不足的情况。如果 OOM Killer 杀掉了 ES 进程,那么在杀掉后,必然导致 ES 无法响应,连接请求被拒绝。原创 2023-08-01 16:08:35 · 2090 阅读 · 0 评论 -
ElasticSearch|别名 (alias) 的常用命令及语法
是 *数据流(data streams)*或 *索引(indices)*的另一个名称,大多数 ElasticSearch API 可以使用别名替代数据流或索引名称。选项将索引的别名的请求路由到特定分片,可以利用分片缓存加速搜索。参数来指定对别名的写入请求将写入哪个索引或数据流,写入请求最终只会被路由到添加了。为已存在的数据流或索引添加别名,可以使用 aliases API 的。后添加数据流或索引名,查询该别名对应的索引名或数据流。前添加数据流或索引名,查询指定数据流或索引名的别名。参数的索引或数据流上。原创 2023-05-29 13:22:51 · 749 阅读 · 0 评论 -
ElasticSearch|常用 ES 常用命令整理
Query DSL 是 Elasticsearch 中用于在 JSON 格式中编写查询语句的领域特定语言(DSL)。Example:在 my-index-000001 中添加 TYPE_CODE 字段并令其等于 TYPECODE。Example:将 my-index-000001 索引中 MARKER 字段为 3 的更改为 2。Example:在 my-index-000001 索引中使用 script 脚本生成字段聚合。原创 2023-05-05 13:39:56 · 337 阅读 · 0 评论 -
ElasticSearch|Python API 获取满足条件的索引
使用如下 API 可以通过 ElasticSearch 的 Python API 获取所有满足。的索引信息,返回的结果格式为。,每一个字典元素为一个索引。原创 2023-03-23 11:01:25 · 197 阅读 · 0 评论 -
ElasticSearch|按天聚合统计数量
字段按天聚合,统计每一天的数量。的有 4200 条,日期为。的也有 4200 条。原创 2023-07-10 15:58:21 · 344 阅读 · 0 评论 -
CDH|Oozie 编辑器图形化执行 Spark 方法
在已添加任务后,将 action(工具栏中的按钮)拖动到当前 action 上方,即可为当前 action 添加父任务;从左到右依次是:Hive 脚本、HiveServer2 脚本、Pig 脚本、Spark 程序、Java 程序、Sqoop 1、MapReduce 作业、子 workflow、Shell、Ssh、Fs、电子邮件、数据流、DistCp、通用、停止。在未添加任务时,将 action(工具栏中的按钮)拖动到 Actions 编辑区中的 “将您的操作拖到此处”,即可在工作流中添加 action。原创 2023-06-25 13:24:59 · 167 阅读 · 0 评论 -
MaxCompute|Python 3 环境配置方法
MaxCompute Python 3 环境配置方法原创 2023-01-29 22:51:36 · 473 阅读 · 0 评论 -
MaxCompute|MaxCompute 中 spark 资源指定的 python 的 zip 包报 Permission denied 问题解决
MaxCompute 中 spark 资源指定的 python 的 zip 包报 Permission denied 问题解决原创 2023-02-02 10:26:40 · 194 阅读 · 0 评论