Fork me on GitHub

01 2018 档案

摘要:一、前述 Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点 是CDH平台首选的PB级大数据实时查询分析引擎.一般公司选择使用CDH部署集群,可以考虑下Impala。 二、具体原理 优 阅读全文
posted @ 2018-01-30 21:04 L先生AI课堂 阅读(1771) 评论(0) 推荐(0)
摘要:一、前述 CDH(Cloudera's Distribution, including Apache Hadoop)是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建提供了Hadoop的核心可扩展存储、分布式计算 基于Web的用户界面。简单来说CDH 阅读全文
posted @ 2018-01-30 20:08 L先生AI课堂 阅读(1644) 评论(0) 推荐(0)
摘要:一、前述 Kafka是一个分布式的消息队列系统(Message Queue)。 kafka集群有多个Broker服务器组成,每个类型的消息被定义为topic。 同一topic内部的消息按照一定的key和算法被分区(partition)存储在不同的Broker上。 消息生产者producer和消费者c 阅读全文
posted @ 2018-01-26 23:27 L先生AI课堂 阅读(560) 评论(0) 推荐(0)
摘要:一、前述 Drpc(分布式远程过程调用)是一种同步服务实现的机制,在Storm中客户端提交数据请求之后,立刻取得计算结果并返回给客户端。同时充分利用Storm的计算能力实现高密度的并行实时计算。二、具体原理 DRPC 是通过一个 DRPC 服务端(DRPC server)来实现分布式 RPC 功能的 阅读全文
posted @ 2018-01-25 23:32 L先生AI课堂 阅读(1093) 评论(0) 推荐(0)
摘要:一、前述 Storm是一个流式处理框架,相比较于SparkStreaming是一个微批处理框架,hadoop是一个批处理框架。 二 、搭建流程 1.集群规划 Nimbus Supervisor Zookeepernode01 1 node02 1 1node03 1 1 node04 1 1 2.配 阅读全文
posted @ 2018-01-25 23:11 L先生AI课堂 阅读(260) 评论(0) 推荐(0)
摘要:一、前述 Storm容错机制相比其他的大数据组件做的非常不错。 二、具体原因 结合Storm集群架构图: 我们的程序提交流程如下: 其中各个组件的作用如下: Nimbus资源调度任务分配接收jar包Supervisor接收nimbus分配的任务启动、停止自己管理的worker进程(当前supervi 阅读全文
posted @ 2018-01-25 22:56 L先生AI课堂 阅读(1920) 评论(0) 推荐(0)
摘要:一、前述 为了提高Storm的并行能力,通常需要设置并行。 二、具体原理 1. Storm并行分为几个方面: Worker – 进程一个Topology拓扑会包含一个或多个Worker(每个Worker进程只能从属于一个特定的Topology)这些Worker进程会并行跑在集群中不同的服务器上,即一 阅读全文
posted @ 2018-01-25 21:21 L先生AI课堂 阅读(319) 评论(0) 推荐(0)
摘要:一、前述 Storm由数源泉spout到bolt时,可以选择分组策略,实现对spout发出的数据的分发。对多个并行度的时候有用。 二、具体原理 1. Shuffle Grouping 随机分组,随机派发stream里面的tuple,保证每个bolt task接收到的tuple数目大致相同。轮询,平均 阅读全文
posted @ 2018-01-25 20:31 L先生AI课堂 阅读(3165) 评论(0) 推荐(0)
摘要:一、前述 Storm是个实时的、分布式以及具备高容错的计算系统,Storm进程常驻内存 ,Storm数据不经过磁盘,在内存中处理。 二、相关概念 1.异步: 流式处理(异步)客户端提交数据进行结算,并不会等待数据计算结果。 2.同步: 实时请求应答服务(同步)客户端提交数据请求之后,立刻取得计算结果 阅读全文
posted @ 2018-01-25 19:32 L先生AI课堂 阅读(277) 评论(0) 推荐(0)
摘要:一、前述 Soft-Max是做多分类的,本身是哪个类别的概率大,结果就为对应的类别。为什么称之为Soft判别,原因是归一化之后的概率选择最大的作为结果,而不是只根据分子。 二、原理 sigmod函数: SoftMax函数模型理解: 每一个分类的预测值的概率: soft-max的损失函数: 当k=2时 阅读全文
posted @ 2018-01-24 01:00 L先生AI课堂 阅读(1001) 评论(0) 推荐(0)
摘要:一、前述 逻辑回归是一种分类算法,对多元线性回归的结果做一定的缩放。是一种线性(x是一次的)有监督(有x,y)分类(要么是正列,要么是负例)算法。是通过sigmod算法的一次缩放。 sigmod函数解释如下: 二、具体原理 前提和损失函数推倒: -->转化为似然的思想: -->对转换后的似然函数求偏 阅读全文
posted @ 2018-01-23 20:51 L先生AI课堂 阅读(464) 评论(0) 推荐(0)
摘要:一、前述 L1正则,L2正则的出现原因是为了推广模型的泛化能力。相当于一个惩罚系数。 二、原理 L1正则:Lasso Regression L2正则:Ridge Regression 总结: 经验值 MSE前系数为1 ,L1 , L2正则前面系数一般为0.4~0.5 更看重的是准确性。 L2正则会整 阅读全文
posted @ 2018-01-23 17:24 L先生AI课堂 阅读(2844) 评论(0) 推荐(0)
摘要:一、前述 Hive会经常和Hbase结合使用,把Hbase作为Hive的存储路径,所以Hive整合Hbase尤其重要。 二、具体步骤 hive和hbase同步https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration1、把hiv 阅读全文
posted @ 2018-01-22 19:35 L先生AI课堂 阅读(644) 评论(0) 推荐(0)
摘要:一、前述 今天开始讲解Sqoo的用法搭建和使用。Sqoop其实功能非常简单。主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HD 阅读全文
posted @ 2018-01-22 18:08 L先生AI课堂 阅读(514) 评论(0) 推荐(0)
摘要:一.前述 线性回归是机器学习的基础,所以比较重要。这里边线性是指一次,回归实际上就是拟合。Copy过来一段线性回归的描述如下:确定一个唯一的因变量(需要预测的值)和一个或多个数值型的自变量(预测变量)之间的关系。线性回归是一种有监督的机器学习,何谓有监督:实际上就是我们的数据集既要有X,又要有Y。 阅读全文
posted @ 2018-01-22 01:36 L先生AI课堂 阅读(667) 评论(0) 推荐(0)
摘要:一.前述 密度聚类是一种能降噪的算法。很多时候用在聚类形状不规则的情况下。 二.相关概念 先看些抽象的概念(官方定义): 1.:对象O的是与O为中心,为半径的空间,参数,是用户指定每个对象的领域半径值。 2.MinPts(领域密度阀值):对象的的对象数量。 3.核心对象:如果对象O的对象数量至少包含 阅读全文
posted @ 2018-01-19 20:00 L先生AI课堂 阅读(4234) 评论(0) 推荐(0)
摘要:一.前述 Linux中正则匹配查找比较常用,所以分享一篇关于正则匹配和Grep结合的文章。 二.匹配规则 匹配操作符: \ 转义字符. 匹配任意单个字符[1249a],[^12],[a-k] 字符序列单字符占位^ 行首$ 行尾\<,\>:\<abc 单词首尾边界| 连接操作符(,) 选择操作符\n 阅读全文
posted @ 2018-01-19 16:32 L先生AI课堂 阅读(1372) 评论(0) 推荐(0)
摘要:一.前述 Kmeans算法一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。 Kmeans算法是一种无监督的算法。 常用于分组,比如用户偏好。 二.概念及原理 Kmeans原理: 1 随机选取k个中心点 2 遍历所有数据,将每个数据划分到最近的中心点中 3 计算每 阅读全文
posted @ 2018-01-18 01:53 L先生AI课堂 阅读(607) 评论(0) 推荐(0)
摘要:一.前述 今天分享一篇关于HBase的一对多和多对多的案例的分析。 二.具体案例 案例一.多对多 人员-角色 人员有多个角色 角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加 PS:说明,两张表User表和Role表, User表中定义两个列族,第一个列族 阅读全文
posted @ 2018-01-17 21:22 L先生AI课堂 阅读(794) 评论(0) 推荐(0)
摘要:一.前述 之前讲解了Nginx的源码安装与加载到系统服务中去,http://www.cnblogs.com/LHWorldBlog/p/8298226.html 今天详细讲解Nginx中的具体配置。 二.具体配置 #工作模式与连接数上限events{#参考事件模型,use [ kqueue | rt 阅读全文
posted @ 2018-01-17 20:19 L先生AI课堂 阅读(587) 评论(0) 推荐(0)
摘要:一.前述 Copy过来一段介绍Apache Flume 是一个从可以收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储的工具/服务,或者数集中机制。flume具有高可用,分布式,配置工具,其设计的原理也是基于将数据流,如日志数据从各种网站服务器上汇集起来存储到HDFS, 阅读全文
posted @ 2018-01-17 19:48 L先生AI课堂 阅读(3929) 评论(0) 推荐(0)
摘要:一.前述 本节主要描述Hive的优化使用,Hive的优化着重强调一个 把Hive SQL 当做Mapreduce程序去优化二.主要优化点 1.Hive运行方式:本地模式集群模式本地模式开启本地模式:set hive.exec.mode.local.auto=true;注意:hive.exec.mod 阅读全文
posted @ 2018-01-17 00:02 L先生AI课堂 阅读(743) 评论(0) 推荐(0)
摘要:一.前述 Mapreduce可以自定义Inputforma对象和OutPutformat对象,所以原理上Mapreduce可以和任意输入源结合。 二.步骤 将结果写会到hbase中去。 2.1 Main函数 2.2 Mapper函数(和正常的Mapper没啥区别) 2.3 Reduce函数(主要是把 阅读全文
posted @ 2018-01-16 23:39 L先生AI课堂 阅读(464) 评论(0) 推荐(0)
摘要:一.前述 HBase优化能够让我们对调优有一定的理解,当然企业并不是所有的优化全都用,优化还要根据业务具体实施。 二.具体优化 1.表的设计 1.1 预分区 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到 阅读全文
posted @ 2018-01-16 23:19 L先生AI课堂 阅读(11447) 评论(0) 推荐(0)
摘要:Nginx安装步骤: 1.依赖 gcc openssl-devel pcre-devel zlib-devel 安装:yum install gcc openssl-devel pcre-devel zlib-devel -y2. 安装Nginx./configure 3. make && make 阅读全文
posted @ 2018-01-16 18:47 L先生AI课堂 阅读(347) 评论(0) 推荐(0)
摘要:一.前述。 Hbase shell启动命令窗口,然后再Hbase shell中对应的api命令如下。 二.说明 Hbase shell中删除键是空格+Ctrl键。 三.代码 1.封装所有的API 2.原始Api 解析: 1. String rowkey = pnum + "_" + (Long.MA 阅读全文
posted @ 2018-01-16 18:32 L先生AI课堂 阅读(2219) 评论(0) 推荐(0)
摘要:一.前述 由于Windows安装Mysql非常麻烦,所以分享一篇Linux中对MySQL的搭建,废话不多说,来,come on. 二.步骤 2.1 yum安装 yum install mysql-server -y 2.2 启动MySQL服务 service mysqld start 最好加载到开机 阅读全文
posted @ 2018-01-15 20:25 L先生AI课堂 阅读(229) 评论(0) 推荐(0)
摘要:一.前述 Hive中搭建分为三中方式 a)内嵌Derby方式 b)Local方式 c)Remote方式 三种方式归根到底就是元数据的存储位置不一样。 二.具体实现 a)内嵌Derby方式 使用derby存储方式时,运行hive会在当前目录生成一个derby文件和一个metastore_db目录。这种 阅读全文
posted @ 2018-01-15 20:09 L先生AI课堂 阅读(12243) 评论(1) 推荐(0)
摘要:一.基本概念 Hive分桶: 1.概念 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储。对于hive中每一个表、分区都可以进一步进行分桶。(可以对列,也可以对表进行分桶)由列的哈希值除以桶的个数来决定每条数据划分在哪个桶中。 2.设置 set hive.enforce.bucketing 阅读全文
posted @ 2018-01-14 21:53 L先生AI课堂 阅读(382) 评论(0) 推荐(0)
摘要:一.前述。 完全分布式基于hadoop集群和Zookeeper集群。所以在搭建之前保证hadoop集群和Zookeeper集群可用。可参考本人博客地址 https://www.cnblogs.com/LHWorldBlog/p/8232935.html搭建hadoop集群 二.集群规划。 说明:因为 阅读全文
posted @ 2018-01-12 21:44 L先生AI课堂 阅读(10792) 评论(2) 推荐(0)
摘要:一.前述 1.HBase,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。2.利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务。 3.主要用来存储非结构化和半结构化的松散数据(列 阅读全文
posted @ 2018-01-12 19:28 L先生AI课堂 阅读(521) 评论(0) 推荐(0)
摘要:一.前述 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十 阅读全文
posted @ 2018-01-11 01:09 L先生AI课堂 阅读(414) 评论(0) 推荐(0)
摘要:一。前述 Reduce文件会从Mapper任务中拉取很多小文件,小文件内部有序,但是整体是没序的,Reduce会合并小文件,然后套个归并算法,变成一个整体有序的文件。 二。代码 ReduceTask源码: 源码1.1排序比较器,当用户不设置的时候取排序比较器实现,此时如果用户配置排序比较器,用排序比 阅读全文
posted @ 2018-01-10 21:22 L先生AI课堂 阅读(1017) 评论(1) 推荐(0)
摘要:一。前述 上次讲完MapReduce的输入后,这次开始讲MapReduce的输出。注意MapReduce的原语很重要: “相同”的key为一组,调用一次reduce方法,方法内迭代这一组数据进行计算!!!!! 二。代码 继续看MapTask任务。 解析一。构造OutPut对象: 解析1.1 解析源码 阅读全文
posted @ 2018-01-09 22:59 L先生AI课堂 阅读(837) 评论(0) 推荐(0)
摘要:从今天开始陆续分享Linux的知识 因为服务器基本是Linux的 所以Linux不学明白 Shell命令不熟 会让你的办事效率大打折扣。 一。Linux文件系统 Linux文件系统是从Unix结构严进过来的。总结一下Linux顶层虚拟目录及其文件内容。 阅读全文
posted @ 2018-01-09 10:31 L先生AI课堂 阅读(203) 评论(0) 推荐(0)
摘要:一。前述 上次分析了客户端源码,这次分析mapper源码让大家对hadoop框架有更清晰的认识 二。代码 自定义代码如下: 继承Mapper源码如下: 解析:我们重新了map方法,所以传进run方法中才能不断执行。 MapperTask源码解析: Container封装了一个脚本命令,通过远程调用启 阅读全文
posted @ 2018-01-09 00:59 L先生AI课堂 阅读(749) 评论(0) 推荐(0)
摘要:一。前述 今天起剖析源码,先从Client看起,因为Client在MapReduce的过程中承担了很多重要的角色。 二。MapReduce框架主类 代码如下: 第一步,先分析Job,可以看见源码中Job实现了public class Job extends JobContextImpl implem 阅读全文
posted @ 2018-01-08 23:09 L先生AI课堂 阅读(1123) 评论(0) 推荐(0)
摘要:一。前述 有了上次hadoop集群的搭建,搭建yarn就简单多了。废话不多说,直接来 二。规划 三。配置如下 yarn-site.xml配置 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle< 阅读全文
posted @ 2018-01-08 01:49 L先生AI课堂 阅读(5972) 评论(0) 推荐(0)
摘要:一。前述 本来有套好好的集群,可是不知道为什么虚拟机镜像文件损坏,结果导致集群不能用。所以不得不重新搭套集群,借此机会顺便再重新搭套吧,顺便提醒一句大家,自己虚拟机的集群一定要及时做好快照,最好装完每个东西后记得拍摄快照。要不搞工具真的很浪费时间,时间一定要用在刀刃上。废话不多说,开始准备环境搭建, 阅读全文
posted @ 2018-01-08 01:14 L先生AI课堂 阅读(2168) 评论(0) 推荐(0)
摘要:一。概念 二。代码 三。解释 第一个函数作用于每一个组的第一个元素上,将其变为初始值 第二个函数:一开始a是初始值,b是分组内的元素值,比如A[1_],因为没有b值所以不能调用combine函数,第二组因为函数内元素值是[2_,3]调用combine函数后为2_@3,以此类推 第三个函数:reduc 阅读全文
posted @ 2018-01-07 00:01 L先生AI课堂 阅读(4835) 评论(0) 推荐(0)
摘要:一。基本介绍 rdd.aggregateByKey(3, seqFunc, combFunc) 其中第一个函数是初始值 3代表每次分完组之后的每个组的初始值。 seqFunc代表combine的聚合逻辑 每一个mapTask的结果的聚合成为combine combFunc reduce端大聚合的逻辑 阅读全文
posted @ 2018-01-06 23:00 L先生AI课堂 阅读(8494) 评论(1) 推荐(1)