
大数据技术
文章平均质量分 90
鸣宇淳
这个作者很懒,什么都没留下…
展开
-
DataX更新null值到ElasticSearch不生效的问题
DataX 更新 null 值到 Elasticsearch 不生效的问题原创 2022-11-11 11:51:29 · 1982 阅读 · 1 评论 -
【Redis读书笔记】1.简单动态字符串
Redis 使用 SDS (简单动态字符串) 来存储字符串类型的值,是对 C 语言里的 字节数组的封装。以提高读写速度。一、数据结构struct sdshdr { // 记录 buf 数组中已使用字节的数量 // 等于 SDS 所保存字符串的长度 int len; // 记录 buf 数组中未使用字节的数量 int free; // 字节数组,用于保存字符串 char buf[];};SDS 的示例图:二、buf[] 空间预分配原创 2021-05-19 11:59:42 · 317 阅读 · 0 评论 -
传统业务场景下的Flink实时计算探索实践
由于 Flink 支持事件时间、有状态的计算、可以灵活设置窗口等特点,收到业界的广泛追捧。我所在的公司并不是典型的互联网公司,而是偏传统的金融公司,我也想探索一下怎么能利用 Flink 这个好的工具来服务公司的业务,所以对 Flink 的应用场景做了一番尝试。下面我将探索的过程记录下来,一是分享下自己的经历,二是希望跟同行交流,还望轻拍。一、背景我公司业务场景跟市面上大部分 Flink 使用场景不太一样的地方在于以下几点:1. 表单类数据比较多要处理的数据里,日志类型的数据很少,基本上都是表单类的原创 2021-01-27 19:31:36 · 1365 阅读 · 1 评论 -
窗口函数order by对于null的排序规则
1、发现问题今天发现一个问题,在Hive中使用窗口函数对数据进行分组排序时,使用mr引擎和使用presto引擎得到的结果不一致,在这里把发现和解决问题的过程记录一下。row_number() over(partition by room_id order by out_time)(1)制造模拟数据创建表create table demo_over_order( room_id string comment '直播间ID' ,user_id string comment '用户原创 2020-10-29 09:43:21 · 3301 阅读 · 0 评论 -
Hadoop RPC初探
1、各个工具的通讯技术在分布式系统中,网络通讯是底层的基础模块,不同的大数据工具使用不同的通讯技术,比如:组件通讯技术HadoopHadoop自己封装了RPCFlinkAkkaKafkaNIOSpark老版本使用了Akka,新版本NettyHadoop自己对RPC做了封装,叫做Hadoop RPC,RPC是Remote Procedure Call的简称,是远程过程调用,远程调用是指不同进程之间的调用,过程调用是指方法调用,也就是不同进程之间的方法调用原创 2020-06-30 10:00:10 · 365 阅读 · 0 评论 -
Flink维表Join实践
这个文章是根据 【实时数仓篇】基于 Flink 的典型 ETL 场景实现 写的,对视频中讲解的四种维表Join分别实现了一些Demo。常见的维表Join方式有四种:预加载维表热存储维表广播维表Temporal table function join下面分别使用这四种方式来实现一个join的需求,这个需求是:一个主流中数据是用户信息,字段包括用户姓名、城市id;维表是城市数据,字段包括城市ID、城市名称。要求用户表与城市表关联,输出为:用户名称、城市ID、城市名称。1、 预加载维表通过定义原创 2020-06-01 22:06:35 · 4753 阅读 · 6 评论 -
【十八掌●武功篇】第七掌:MapReduce之join详解
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌一、Reduce Joinreduce端的join操作大概是所有mapreduce join操作中最简单的一种,它通过某一个外键将多个数据集连接起来,可以非常容易地实现inner join、left join、right join、full join,并且它对参与连接的数据集大小没有限制,原创 2018-01-30 08:57:49 · 528 阅读 · 0 评论 -
【十八掌●武功篇】第七掌:MapReduce之group
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌group是mapreduce处理数据的常用操作,group操作是基于数据集中某一个字段或者多个字段为键,对记录进行分组,然后对每一组中的数据进行聚和操作(最大值、最小值、求和、平均值、中位数、方差、标准差)。1、mapreduce实现group的过程map函数中读取每一条记录,抽取出分原创 2018-01-30 10:03:53 · 638 阅读 · 0 评论 -
【十八掌●基本功篇】第二掌:Linux之用户和文件权限总结
一、用户相关文件1. /etc/passwd文件这个passwd文件是Linux用户信息文件。文件格式说明如下:root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin......hadoop:x:500:500::/home/hadoop:/bin/bash文件中每一行是一个用户,各列以:分割,...原创 2018-02-27 15:33:12 · 487 阅读 · 0 评论 -
【十八掌●武功篇】第七掌:MapReduce之计数器
计数器是Hadoop框架使用的一种针对错误信息收集的手段,主要用于对数据的控制及收集统计信息,计数器可以帮助程序设计人员收集某一类特定信息的数据,对于大多数的Hadoop框架内的事件和组件,使用计数器来获取信息比查阅日志文件要容易的多。MapReduce框架中已经内置了一些计数器,也可以自定义计数器。(1) 内置计数器的分类 分组 属性名 MapReduce...原创 2018-02-27 16:13:58 · 452 阅读 · 0 评论 -
【十八掌●武功篇】第七掌:MapReduce之单元测试
MRUnit是一个基于JUnit的单元测试框架,专门用来对Hadoop框架的MapReduce进行单元测试。MRUnit针对于不同的测试对象使用不同的Driver: - MapDriver,针对单独的Map测试。 - ReduceDriver,针对单独的Reduce进行测试。 - MapReduceDriver,将Map和Reduce连贯起来进行测试。单元测试实例1、...原创 2018-02-27 16:17:09 · 445 阅读 · 0 评论 -
【十八掌●武功篇】第十一掌:HUE简介、基本安装配置
一、 HUE简介HUE是Hadoop User Experience的简称,是一个Apache Hadoop UI系统,由Cloudera Desktop演化而来,是基于Python Web框架Django实现的,Cloudera公司将HUE贡献给Apache基金会的Hadoop社区,所以HUE有Apache版本和CDH版本,本文是基于CDH版本的。官网的文档地址是:http://arc...原创 2018-02-27 18:08:19 · 878 阅读 · 0 评论 -
Spark架构、原理、缓存
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌1、 Spark 组件架构Spark应用的运行架构主要分三部分:Driver、Worker Node、ClusterManager Manager。一个job是从driver开始的,driver本质上起监督的作用,保持与集群中其他实体之间的联系,并将任务提交给worker节点执行,work...原创 2018-03-02 17:32:24 · 739 阅读 · 0 评论 -
大数据可以统计到媳妇的喜好吗?
利用大数据技术统计媳妇的喜好是一个相当不靠谱的事情,因为程序员再牛、使用再炫酷的技术去统计媳妇的喜好,都不如离开电脑陪媳妇聊会天、一起做个饭、拉拉家常、用心去感受媳妇的喜怒哀乐,给予所需、赠予所盼。既然非得要去使用技术手段得出点结论,那么也不能含糊,那么就立项做个规划吧。做个工作大体分为以下几个步骤:1、数据采集2、数据存储3、数据分类建模4、数据分析、统计、预测5...原创 2018-05-30 08:24:33 · 1372 阅读 · 5 评论 -
python通过thrift访问HBase报错Invalid method name
出现的问题在准备用python的happybase包通过thrift连接HBase,运行脚本的时候报错,报错大体如下:thrift.Thrift.TApplicationException: Invalid method name:'getTableNames'代码如下:# -*- coding: utf-8 -*-import happybasedef demo_hbase...原创 2018-05-30 08:52:52 · 3715 阅读 · 0 评论 -
Flink DataStream常用算子
Flink中的算子是将一个或多个DataStream转换为新的DataStream,可以将多个转换组合成复杂的数据流拓扑。在Flink中,有多种不同的DataStream类型,他们之间是使用各种算子进行的。如下图所示:以下列举下常用的算子,用到的代码例子都是Flink监听9000端口做为数据源。以下方法可以启动一个9000的socket端口服务。Linux平台上可以使用bashnc -...原创 2019-02-14 11:41:03 · 29044 阅读 · 7 评论 -
【十八掌●武功篇】第十六掌:Spark之简介、安装、Demo
一、 Spark功能和优势1. Spark功能Spark类似于MapReduce,是另一种分布式计算框架二、 Spark与MR三、 Spark源码编译四、 安装Spark(本地部署模式)五、 Spark Shell使用原创 2017-12-02 07:48:36 · 925 阅读 · 0 评论 -
大数据技术●降龙十八掌【目录】
降龙十八掌这门惊世武功在几百年前销声匿迹,时光如箭,岁月如梭,到了21世纪10年代又突然出现在某宝,这势必将引起武林中的又一轮血雨腥风。有图为证:《降龙十八掌》这次重出江湖将不同凡响,因为它这次用大数据技术进行了加持,并且是以“英格兰斯基”文字写的,老夫历经千难万苦得到了这部新版《降龙十八掌》,惊叹它的博大精深,老夫决定将它翻译过来,然后公布于众,原因是以史为鉴,它的每次重出江湖都将造...原创 2017-11-16 15:48:02 · 3452 阅读 · 0 评论 -
【十八掌●武功篇】第七掌:MapReduce之倒排索引
维基百科上讲: 倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。 有两种不同的反向索引形式: 1. 一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。 2. 一个单词的水平反向索引(或者完原创 2018-01-31 13:53:25 · 472 阅读 · 0 评论 -
【十八掌●武功篇】第十三掌:Storm之基础知识
一、 Storm简介1、 介绍Storm是一个分布式的实时计算系统,用来可靠地处理持续不断的数据流。 Storm可以应用到很多场景中,包括实时分析、在线机器学习、连续计算等。 Strom的处理速度非常快,而且是可伸缩、容错的系统,并且可以保证每一条数据被妥善处理。2、 Storm框架核心Storm框架的核心由7个部分组成:(1) Topology一个Topol原创 2017-12-01 16:40:06 · 352 阅读 · 0 评论 -
【十八掌●内功篇】第五掌:HDFS之Shell
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌可以通过hadoop fs –help命令来查看HDFS Shell命令的说明。大部分的HDFS Shell和Linux的shell相似。一般的shell命令格式为:bin/hadoop command [genericOptions] [commandOptions]comman原创 2017-12-01 08:38:35 · 753 阅读 · 0 评论 -
【十八掌●武功篇】第十二掌:Flume之工作原理与使用
一Flume简介1.Flume定义2.使用Flume的原因3.一个应用实例二Flume工作原理4.Flume组成5.常用的source类型6.常用的channel类型7.常用的sink类型8.FlumeAgent内部原理9.FlumeAgent之间的通信10.无数据丢失保证和channel事务11.批量event处理三Flume的使用12.配置FlumeAgent启动FlumeAgent原创 2017-12-01 08:51:34 · 681 阅读 · 0 评论 -
【十八掌●武功篇】第十六掌:Spark之RDD简介
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌系列文章:【十八掌●武功篇】第十六掌:Spark之Scala安装和HelloWorld 【十八掌●武功篇】第十六掌:Spark之Scala语法快速概览 【十八掌●武功篇】第十六掌:Spark之简介、安装、Demo 【十八掌●武功篇】第十六掌:Spark之RDD简介一、 定义...原创 2017-12-02 07:56:55 · 549 阅读 · 0 评论 -
【十八掌●武功篇】第十六掌:Spark之Scala语法快速概览
一 安装Scala 确保Java安装成功 解压scala-2104tgz 配置Scala环境变量 启动Scala命令行 二 Windows下安装IDEA的Scala插件 在IDEA中File打开Setting 安装Scala插件 三 HelloWord 下载Window版本的Scala-2104 创原创 2017-12-02 07:54:28 · 458 阅读 · 0 评论 -
【十八掌●武功篇】第十六掌:Spark之Scala安装和HelloWorld
一、 安装Scala1、 确保Java安装成功[hadoop@spark01-61cdh scala-2.10.4]$ java -versionjava version "1.7.0_111"[hadoop@spark01-61cdh scala-2.10.4]$ echo $JAVA_HOME/opt/modules/jdk1.7.0_62、 解压scala-2.10原创 2017-12-02 07:53:13 · 592 阅读 · 0 评论 -
【十八掌●内功篇】第六掌:YARN之YARN资源调度器
1、 资源调度器的职能资源调度器是YARN最核心的组件之一,是一个插拔式的服务组件,负责整个集群资源的管理和分配。YARN提供了三种可用的资源调度器:FIFO、Capacity Scheduler、Fair Scheduler。2、 资源调度器的分类3、 基本架构4、 资源调度模型5、 层级队列管理机制7、 Fair Scheduler原创 2017-12-02 07:40:41 · 667 阅读 · 0 评论 -
【十八掌●内功篇】第六掌:YARN之ApplicationMaster
ApplicationMaster实际上是特定计算框架的一个实例,每种计算框架都有自己独特的ApplicationMaster,负责与ResourceManager协商资源,并和NodeManager协同来执行和监控Container。MapReduce只是可以运行在YARN上一种计算框架。1、 AM的职能2、 报告活跃3、 资源需求4、 调度5、 启动Container原创 2017-12-02 07:39:12 · 2212 阅读 · 0 评论 -
【十八掌●内功篇】第六掌:YARN之NodeManager
1、 NM的职能2、 NM内部结构3、 节点健康状态检测4、 分布式缓存机制5、 目录结构管理6、 状态机管理7、 Container生命周期原创 2017-12-02 07:37:55 · 864 阅读 · 1 评论 -
【十八掌●武功篇】第十二掌:Flume之安装和测试使用
选用CDH版本的Flume1、 下载Flume安装包http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.5.0-cdh5.3.6.tar.gz2、 解压安装包tar -zxvf /opt/software/flume-ng-1.5.0-cdh5.3.6.tar.gz -C /opt/modules/3、 配置原创 2017-12-02 07:32:56 · 498 阅读 · 0 评论 -
【十八掌●内功篇】第五掌:HDFS之基础知识
基于Apache Hadoop2.5版本,主要内容有:一、 HDFS简介;二、 HDFS体系结构;三、 工作机制;四、 HDFS Shell原创 2017-11-16 16:20:03 · 876 阅读 · 0 评论 -
【十八掌●内功篇】第六掌:YARN之架构和原理
一、 YARN简介YARN是Hadoop2引入的通用的资源管理和任务调度的平台,可以在YARN上运行MapReduce、Tez、Spark等多种计算框架,只要计算框架实现了YARN所定义的接口,都可以运行在这套通用的Hadoop资源管理和任务调度平台上。1、 YARN产生的背景2、 YARN的优点二、 YARN的架构和工作原理原创 2017-11-16 18:14:44 · 929 阅读 · 0 评论 -
【十八掌●武功篇】第八掌:HBase之基本概念
第一部分: HBase概述原创 2017-12-01 08:44:41 · 689 阅读 · 0 评论 -
【十八掌●武功篇】第八掌:HBase之基本操作Java API
十八、 写入数据原创 2017-12-01 08:46:13 · 561 阅读 · 0 评论 -
【十八掌●武功篇】第八掌:HBase之过滤器总结
二十二、 比较过滤器原创 2017-12-01 08:46:49 · 610 阅读 · 0 评论 -
【十八掌●武功篇】第八掌:HBase之性能调优
第九部分: HBase性能调优原创 2017-12-01 08:47:26 · 616 阅读 · 0 评论 -
【十八掌●武功篇】第八掌:HBase之安装与集成
一、 HBase安装部署—伪分布式安装原创 2017-12-01 08:47:59 · 639 阅读 · 0 评论 -
GitChat·大数据 | 史上最详细的Hadoop环境搭建
GitChat 作者:鸣宇淳 原文: 史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 【不要错过文末彩蛋】前言Hadoop在大数据技术体系中的地位至关重要,Hadoop是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远。这是一篇入门文章,Hadoop的学习方法很多,网上也有很多学习路线图。本文的思路转载 2017-12-14 10:31:51 · 1912 阅读 · 1 评论 -
【十八掌●武功篇】第七掌:MapReduce之序列化和压缩
序列化和压缩原创 2017-12-01 08:36:07 · 526 阅读 · 0 评论 -
【十八掌●武功篇】第七掌:MapReduce之工作机制
一、工作机制二、序列化类型三、压缩原创 2017-12-01 08:33:37 · 632 阅读 · 0 评论 -
【十八掌●内功篇】第六掌:YARN之ResourceManager
ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个NodeManager的资源汇报信息,并把这些信息按照一定的策略分配给各个ApplicationMaster。1、 RM的职能2、 RM的内部结构3、 启动AM流程4、 申请和分配Container流程5、 杀死Application流程6、 Container超时7、 安全管理8、 RM HA架构原创 2017-12-02 07:35:55 · 967 阅读 · 0 评论