精华内容
下载资源
问答
  • 本TTP为大数据及其常用组件的基本介绍(hdfs hive hbase kafka spark kudu impala kylin streamsets)仅供参考。
  • 如果给出的特征向量长度可能不同这是需要归一化为通长度的向量这里以文本分类为例比如说是句子单词的话则长度为整个词汇量的长度对应位置是该单词出现的次数 2. 计算公式如下 ? 其中一项条件概率可以通过朴素贝叶斯...
  • 大数据分类技术

    千次阅读 2018-04-16 22:12:05
    博客内容是根据北邮牛博老师的PPT整理所得一、认识分类分类的目的是获得一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到某一个给定类别。 分类可用于提取描述重要数据类的模型或预测...

    博客内容是根据北邮牛博老师的PPT整理所得

    一、认识分类

    分类的目的是获得一个 分类函数分类模型 (也常常称作 分类器 ),该模型能把数据库中的数据项映射到某一个给定类别
    分类可用于提取描述重要数据类的模型或预测未来的数据趋势

                               
    分类与预测的辨析

    • 分类是预测分类(离散、无序的)标号

    预测是建立连续值函数模型



    分类的实现

    • 构建模型:预设分类类别

    • 对每个样本进行类别标记

    • 训练集构成分类模型 

    • 分类模型可表示为:分类规则、决策树或数学公式

    • 使用模型:识别未知对象的所属类别

    • 模型正确性的评价 

    • 已标记分类的测试样本与模型的实际分类结果进行比较

    • 模型的正确率是指测试集中被正确分类的样本数与样本总数的百分比。测试集与训练集相分 离,否则将出现过拟合(over-fitting)现象。

    分类与聚类的区别:


    机器学习的常用方法,主要分为有监督学习(supervised learning)和无监督学习(unsupervised learning)。监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。

    无监督学习(也有人叫非监督学习)则是另一种研究的比较多的学习方法,它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。

    二、典型算法

    1.K-NN算法


    2.SVM分类(支持向量机分类)


    3.决策树算法


    • 决策树输入

     • 一组带有类别标记的样本 

    • 决策树输出

     • 一棵二叉或多叉树。

     • 二叉树的内部节点(非叶子节点)一般表示为一个逻辑判断,如形式为(ai=vi)的逻辑判断, 其中ai是属性,vi是该属性的某个属性值;树的边是逻辑判断的分支结果。 • 多叉树(ID3)的内部节点是属性,边是该属性的所有取值,有几个属性值,就有几条边。 树的叶子节点则是类别标记。

    如下图,就是一个决策树的例子


    构造决策树

    • 决策树的构造采用 自上而下的递归构造。

    ①如果训练样本集中所有样本是同类的,则将它作为叶子节点,节点内容即是该类别标记。

    ②否则,根据某种策略选择一个属性,按照属性的不同取值,将样 本集划分为若干子集,使得每个子集上的所有样本在该属性上具 有同样的属性值。然后再依次处理各个子集

    实际上就是“分而治之”(divide-and-conquer)的策略

    决策树构造条件

     • 构造好的决策树的关键是:如何选择好的逻辑判断或属性

     • 对于同样一组样本,可以有很多决策树能符合这组样本。研究表明,一般情况下,树越 小则树的预测能力越强。要构造尽可能小的决策树,关键在于选择恰当的逻辑判断或属 性。由于构造最小的树是NP问题,因此只能采用启发式策略选择好的逻辑判断或属性。

     实际中,用于模型学习的训练数据往往不是完美的,原因是:

    ①某些属性字段上缺值 (missing values)

    ②缺少必需的数据而造 成数据不完整;

    ③数据不准确含有噪声 甚至是错误的。

    • 基本的决策树构造算法没有考虑噪声,生成的决策树完全与训练样本拟合。 

    • 在有噪声的情况下,完全拟合将导致过分拟合(overfitting),即对训练数据的完全拟 合反而不具有很好的预测性能。


    剪枝技术是一种克服噪声的技术,同时它也能使树得到简化而变得更容易理解。剪枝分为两种:

    向前剪枝(forward pruning)在生成树的同时决定是继续对不纯的训练子集进行划分还是停机。

    向后剪枝( backward pruning) 是一种两阶段法:拟合-化简 (fitting-and-simplifying), 首先生成与训练数据完全拟合的 一棵决策树,然后从树的叶子开 始剪枝,逐步向根的方向剪。

    下图是一个剪枝的例子:


     剪枝的局限性 

    • 剪枝并不是对所有的数据集都好,就像最小树并不是最好(具有最大的预测率)的树。 • 当数据稀疏时,要防止过分剪枝(over-pruning)。 

    • 从某种意义上而言,剪枝也是一种偏向(bias),对有些数据效果好而有些数据则效果差。

    决策树的例子:

    根据加薪百分比、工作时长、法定节假日、及医疗保险三个属性来判断一个企业的福利状况。


    4.ID3算法





    ID3算法举例:

          


    对于第一个式子是看最后分类为yes和no的比例

    第二个式子,括号外是每个属性占总的比例(youth,senior,middle_aged),括号内又是该属性被分类的yes或no的比例。


    最终得到提取规则:


    ID3的优势与劣势


    三、评价标准

    分类的评价标准


    其中准确性可由混淆矩阵获得,下图为混淆矩阵的计算公式:


    同时可以用交叉验证



    ROC曲线是衡量分类模型效果的最重要的图形展现形式,具体可以在软件上实现。


    四、组合分类

    多个算法组合使用,其中与决策树结合的算法较多,其中包括:

    代表算法: 1. 随机森林;2.Boosting;3. GBDT




    展开全文
  • 大数据常用技术梳理

    千次阅读 2021-01-01 11:09:07
    热爱大数据技术或者从事大数据开发方面可以来看看. 应该会对您有所帮助~~~

    随着企业项目的规模越做越大, 现在很多项目都已经涉及到大数据了.

    大数据相关技术的出现解决了传统项目中由于数据量变而引起的质变进而产生的相关问题, 突破传统技术的性能瓶颈, 促进业务更好的发展

    2020即将逝去. 在此梳理下这几年自己所掌握的大数据方面的知识, 为今后进行的技术转型做好铺垫.

    大数据初识

    首先先附上大数据开发主要的职位图
    在这里插入图片描述

    从上图我们可以看到, 从事大数据方向可以有很多具体方向的职位. 相较于Java开发, 选择面更加广泛

    而最主要的职位集中在数据挖掘工程师, 算法工程师, hadoop工程师, 数据仓库工程师上. 我们可以通过在各大招聘网站上搜索这些职位去了解这些职位需要哪些技术栈, 以此进行针对性学习和了解

    附上各大网招聘站入口(按推荐度排序, 不过都需要注册才能进行职位搜索)
    Boos直聘(传送门)
    智联招聘(传送门)
    拉钩网(传送门)

    大数据基础

    点击各蓝色标题可以进入对应的博文哦~~~

    Linux基础

    大数据很多集群操作都是在Linux服务器上面运行的, 因此要想学习大数据的相关知识, 首先需要对Linux有一个系统的了解.

    这些了解包括:

    1. 对自定义版本虚拟机的安装,

    2. 对多节点(多主机)上的虚拟机进行集群化配置以及备份(以防安装失败后的回滚).

    3. Linux常用命令的使用

    4. 文本编辑命令vi, vim 的使用以及使用该命令后文本产生三种模式的了解
      编辑模式:按键具有编辑文本功能:默认打开进入编辑模式
      输入模式:按键本身意义
      末行模式:接受用户命令输入

    5. 正则表达式的学习
      因为Linux主要使用shell进行操作的特点, 不便我们直接对文本进行查询和修改, 而通过对正则表达式的学习和使用能够方便我们对日志或配置文件进行查询和修改操作

    6. 行编辑命令(cut, sort, wc)
      cut: 文本切分,类似Java中的Spilt函数
      sort: 对文本中每行指定位置的字符进行排序
      wc: 对文本的行数, 单词数, 以及字节数(包括空格符)进行统计

    7. 用户与权限操作
      因为Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件. 而文件管理模式带来的弊端就是文件的删除容易导致系统出现问题, 因此需要对登录的用户和权限进行严格限制, 避免出现新闻上常见的"删库跑路" 事件,
      这样既对公司的财产安全进行了维护, 同时也避免了一些人因冲动而做出傻事, 这个是非常有必要学习的.

    8. shell 脚本编写
      在大数据的相关工作中, 脚本必不可缺, 它是实现相关软件, 项目管理自动化的重要途径之一. 通过使用脚本, 我们可以对进群中的相关软件和项目进行批量部署, 启动和关闭等操作. 能够为我们节约大量时间, 方便我们将自己的重心转移到业务研发上去.

    高并发技术

    我国是人口大国同时也是数据大国, 由数据的量(数以亿计)变产生了质变 , 我们步入了大数据时代. 而大数据也带来的高并发的问题. 解决高并发问题是大数据时代的永恒主题.

    通过相应技术, 解决高并发问题 ,为企业节省更多资金 ,有益企业良性发展. 这便是大数据技术发展的不竭动力之源.

    对高并发相关知识的了解包括

    1. 网络工程基础知识
      OSI七层参考模型, Tcp的三次握手四次分手, 查看虚拟机内核的IP路由表信息命令等.

    2. LVS技术
      LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,现在LVS已经是Linux标准内核的一部分,可以直接使用LVS提供的各种功能。使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能,高可用的服务器群集,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能
      通过对LVS基本概念, 相关调度算法进行介绍. 以及LVS-DR网络拓扑结构的搭建来学习LVS如何使用.

    3. Keepalived
      Keepalived: 基于vrrp协议实现, 是集群管理中保证集群高可用的服务软件. 这里模拟了LVS+Keepalive的实验, 事实上Keepalive还可以和Nginx等软件配合使用实现负载均衡

    4. Nginx和 Tengine
      Nginx (“engine x”) 是一个高性能的 HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器; Tengine 是nginx的加强版,封装版 ,性能更加强劲!
      这里通过对二者的优缺点进行比较, 并主要使用了Tengine制作Nginx脚本, 配置好Tengine之后又对其进行技术延伸, 实现虚拟Server, 反向代理, 负载均衡等操作, 并对nginx如何识别我们的域名的原理进行了简单的介绍

    5. session一致性问题的解决
      这里首先模拟了Session不一致产生的情况: 由于Nginx代理多个节点后服务器出现Session不一致的情况, 然后使用其中一种解决方案: 安装memcached进行解决.
      另外, 还探讨了服务器时间一致性的解决方案: 安装ntpdate服务

    Hadoop体系

    Hadoop技术(一)分布式文件系统HDFS

    作为Hadoop体系的基石, 分布式存储系统HDFS (Hadoop Distributed File System )提供了高可靠性、高扩展性和高吞吐率数据存储服务分布式存储系统

    对分布式文件系统的了解包括

    1. Hdfs的相关介绍( 优缺点, 相关原理, 架构, 存储模型等的介绍 )

    2. Hdfs的读写流程 ( 面试重点 )

    3. HDFS中的角色权限与安全模式
      与Linux文件权限类似r: read; w:write; x:execute;
      所有者(owner)就是Linux的当前用户, 如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan。
      HDFS的权限目的: 阻止好人错错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁

    4. HDFS高可用集群搭建及API
      根据在Linux学习搭建好的集群, 安装HDFS: 其中, 操作系统环境需要安装ssh,jdk, 配置免秘钥, 设置时间同步, 配置环境变量, 安装Hadoop相关软件, 并测试是否安装成功. 待成功之后, 搭建伪分布式集群(1台主机)和完全分布式集群(多台主机)

    5. Hadoop 2.0
      因为Hadoop 1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题, 在此学习并安装了Hadoop 2.0, 因为二者区别挺大的, 所以注意区分(面试会问)

    6. Eclipse 下开发大数据
      主要是对Hadoop软件所需运行环境进行配置, 使我们能够在Eclipse上面能够本地运行Hadoop程序

    Hadoop技术(二)资源管理器YARN和分布式计算框架MapReduce

    Hadoop MapReduce / MR 是一个软件计算框架,可以轻松地编写应用程序,以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多达TB数据集)

    Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

    对资源管理器YARN和分布式计算框架MapReduce的了解包括

    1. 对其MapReduce相关知识的了解
      基本介绍, MR运行原理. 块 ,切片 , map ,reduce ,组 ,分区 ,输出文件之间的关系等.

    2. Hadoop MapReduce V2
      MapReduce On YARN:MRv2 , 将MapReduce作业直接运行在YARN上,而不是由JobTracker和TaskTracker构建的MRv1系统中. 通过搭建MR V2运行环境, 运行简单案例, 分析相关源码加深对MapReduce的了解

    3. Hadoop-MapReduce案例
      介绍了MR可以使用的三种案例.天气案例, 好友推荐案例, PageRank ( PageRank是Google提出的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度。是Google创始人拉里·佩奇和谢尔盖·布林于1997年创造的 PageRank实现了将链接价值概念作为排名因素。 )

    4. MapReduce案例-ItemCF
      讲述了一个重要的算法, 推荐系统——协同过滤(Collaborative Filtering)算法
      通过UserCF来了解这个算法 : 基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。简单来讲就是:给用户推荐和他兴趣相似的其他用户喜欢的物品。

    Hadoop技术(三)数据仓库工具Hive

    Hadoop生态系统就是为处理大数据集而产生的一个合乎成本效益的解决方案。Hadoop的MapReduce可以将计算任务分割成多个处理单元然后分散到家用的或服务器级别的硬件上,降低成本并提供水平伸缩性

    而Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

    对Hive的了解包括以下几点:

    1. Hive是什么
      对Hive相关概念, 架构原理, 执行流程等进行介绍.

    2. Hive的搭建
      单用户(伪分布式)模式搭建, 多用户(分布式)模式搭建.

    3. Hive语法
      常用命令, 如新增(insert)和修改(update), 内部表和外部表的区别以及创建方式, Hive的分区, Hive的序列化与反序列化, Hive Beeline(beenline 提供了Shell的JDBC的访问方式, 不能用于 DML 操作,只能执行一些查询操作), Hive JDBC( 通过JDBC的方式来链接Hive )

    4. Hive的拓展学习
      学习Hive的配置参数, 动态分区, Hive分桶, Hive视图, Hive索引.

    5. Hive运行方式
      通过命令行, 脚本, JDBC, Hive Web GUI等方式来使用Hive.

    6. Hive 权限管理
      Hive三种授权模型: 基于存储的授权, 基于SQL标准的Hive授权, Hive默认授权
      推荐使用第二种模式进行授权, 并通过搭建该模式授权环境实现相关功能
      角色管理: 将一个或多个角色授予其他角色或用户: 如果指定了“ WITH ADMIN OPTION”,则用户将获得将角色授予其他用户/角色的特权。
      设置管理对象权限: 对Hive中对象的权限进行授权与撤销

    7. Hive优化
      从不同角度出发, 来为Hive进行优化, 而优化的最终目的就是提升其计算性能. 从事数仓工程师需要着重了解此方面的内容

    Hadoop技术(四)分布式、面向列的开源数据库HBase

    HBase 是一个分布式的、面向列的开源数据库。是基于Google 开源的bigtable的实现,面向列的非关系型数据库

    对HBase得到了解主要包括:

    1. 什么是HBase
      对HBase的相关概念, 架构原理, 数据模型等进行介绍.

    2. Hbase的安装
      伪分布式安装, 完全分布式安装

    3. HBase-API
      搭建相关Demo, 使我们可以用Java语言来对HBase进行创建表, 插入数据, 获取指定单元格信息等. 通过Java模拟通话数据并使用HBase的相关API进行处理,
      封装了Hbase相关操作, 方便我们通过工具类直接进行Hbase的curd操作, 利用Hbase实现WordCount等等.

    4. Hbase性能优化
      从不同角度出发, 来为HBase进行优化, 而优化的最终目的就是提升其计算性能.

    高级技术

    CDH集群管理

    CDH是大数据分布式集群管理工具。CDH由Cloudera公司开发并提供大数据集群的配置标准化,可以帮助企业安装、配置、运行 hadoop 以达到大规模企业数据的处理和分析。

    目前市场中Cloudera公司开发的Cloudera Manager平台(简称CM)与CDH市场占有率很大,掌握 CM+CDH 集群管理是企业开发中必不可少的技能

    对CDH的了解主要包括:

    1. CDH是什么
      对产生背景, 相关概念, 技术架构等进行了介绍.

    2. 安装
      通过 Cloudera Manager 进行部署.

    3. 其他组件安装
      通过CM安装Hue( 与Hadoop集群进行交互来分析处理数据 ), Hive, Implal ( 提供对 HDFS 、HBase 数据的高性能、低延迟的交互式 SQL 查询功能 ) , 并将Impala 与 HBase 整合; 安装OOZIE ( 于 Hadoop 平台的开源的工作流调度引擎, 用来管理 Hadoop 作业 ), 并运行Oozie脚本等等

    Scala——多范式, 可伸缩, 类似Java的编程语言

    Scala是一门多范式, 类似java的编程语言 ,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。

    Scala以一种简洁、高级的语言将面向对象和函数式编程结合在一起. Scala的静态类型有助于避免复杂应用程序中的bug,它的JVM和JavaScript在运行时允许构建高性能的系统,可以轻松地访问庞大的库生态系统

    对Scala的了解包括:

    1. Scala是什么
      对Scala的相关概念与六大特性等进行了介绍.

    2. Scala 安装使用
      安装其使用环境, 常用IDE(Eclipse, IDEA)整合Scala插件, 并创建Demo项目.

    3. Scala 基础
      Scala的常用数据类型, 类和变量的声明和使用方式, 条件语句的语法.

    4. Scala 的方法与函数
      Scala常用的五种方法与三种函数介绍与使用.

    5. 集合
      Scala中String , 数组, List ,Set, Map, 元组的介绍与使用.

    6. Scala 高级知识
      trait 特性: Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。它还可以定义属性和方法的实现。
      样例类 CaseClass: 使用了case关键字的类定义就是样例类(case classes),样例类是种特殊的类。实现了类构造参数的getter方法(构造参数默认被声明为val),当构造参数是声明为var类型的,它将帮你实现setter和getter方法
      偏函数: 如果一个方法中没有match 只有case,这个函数可以定义成PartialFunction偏函数。偏函数定义时,不能使用括号传参,默认定义PartialFunction中传入一个值,匹配上了对应的case,返回一个值,只能匹配同种类型
      Actor Model : Actor通信模型

    7. 搭建Spark运行环境
      Scala语言就是为Spark开发做基础的, 搭建完成后实现一个WordCount的小案例, 初步体会spark语言的极致精简

    Spark——底层操作RDD,基于内存处理数据的计算引擎

    Apache Spark是一个快速的通用集群计算框架 / 引擎。它提供Java,Scala,Python和R中的高级API,以及支持常规执行图的优化引擎

    它还支持一组丰富的更高级别的工具,包括Spark SQL用于SQL和结构化数据的处理MLlib机器学习,GraphX用于图形处理和Spark Streaming.

    对Spark的了解包括:

    1. Spark是什么
      对Spark的相关概念以及特点, 与MR的区别, 运行模式, Spark Core相关概念等进行介绍.

    2. 安装
      搭建Standalone集群, 介绍Spark四种任务提交方式(Standalone 模式两种提交任务方式Yarn模式两种提交任务方式).

    3. 宽窄依赖和资源任务调度
      RDD(弹性分布式数据集)之间有一系列的依赖关系,依赖关系又分为窄依赖和宽依赖.

    4. Spark 源码分析与算法案例
      对Spark-Submit提交参数进行介绍, 资源调度, 任务调度源码进行分析, WordCount实现, 统计网站Pv和Uv, 二次排序, 分组取TopN, 广播变量和累加器.

    5. Spark的深入使用
      SparkShell 的使用, SparkUI界面介绍与使用, Spark MasterHA介绍与搭建.

    6. Spark Shuffle
      Spark 两种shuffleManager管理机制, Shuffle文件寻址介绍, Spark 内存管理以及Shuffle调优.

    7. SparkSQL
      Hive是Shark的前身,Shark是SparkSQL的前身, SparkSQL产生的根本原因是其完全脱离了Hive的限制. 这里对SparkSQL的相关概念进行了介绍, 并且通过简单的案例来演示如何去使用.

    8. SparkStreaming简介
      SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展、高吞吐量、容错的实时数据流处理,实时数据的来源可以是 :Kafka, Flume, Twitter, ZeroMQ或者TCP sockets,并且可以使用高级功能的复杂算子来处理流数据。这里SparkStreaming与Storm的区别, 以及SparkStreaming代码格式, 算子操作, Driver HA(高可用), SparkStreaming整合Kafka等.

    Flink——运行在数据流上的有状态计算框架和处理引擎

    Apache Flink是一个框架和分布式处理引擎,用于对无限制和有限制的数据流进行有状态的计算。Flink被设计为可以在所有常见的集群环境中运行,以内存速度和任何规模执行计算。

    对Flink的了解包括:

    1. Flink是什么
      对Flink的相关概念, 架构原理, 可以应用的领域, 运行方式, Flink & Storm & SparkStreaming 三者区别等进行了介绍.

    2. Flink编程
      利用Flink实现WordCount, 分区设置和排序, 设置 source和 sink, 计数器的使用, Flink术语重新介绍.

    3. 安装
      集群搭建步骤, 利用Flink读取Socket数据, Flink窗口操作, 并与Kafka进行整合使用.

    Storm——分布式实时流式计算框架

    Storm是Twitter开源的分布式实时大数据处理框架

    对Storm的了解包括:

    1. Storm是什么
      对Storm的相关概念, 拓扑流程, 与MapReduce, Spark Streaming性能对比, 计算模型等进行介绍.

    2. Storm编程案例
      WordSum ( 数据累加 )的实现, WordCount( 数据统计 )

    3. Storm Grouping
      介绍了Storm的八种分组方式

    4. 安装
      Storm的伪分布式搭建和完全分布式搭建

    5. 深入理解Storm
      深入介绍了Storm的架构, 集群的并发机制, Storm的通信机制和容错机制, Storm Drpc(分布式远程过程调用), Strom 事务机制等.

    6. Flume-Kafka-Storm整合案例实现
      利用所学的三者知识, 进行案例整合和知识复习.

    补充技术

    Redis技术

    Redis是当前比较热门的NOSQL数据库之一,它是一个开源的使用ANSI C语言编写, 数据都是缓存在计算机内存中的的key-value数据库,是大数据处理中必备数据库之一

    使用强大的rendis5.0版本(国内领先),首次引入stream数据类型。Stream 类似于日志的数据结构,允许在单一 Key 上基于自动的有序时间序列存储多个字段,在消息队列,事件通知,统一日志架构等业务场景中有非常大的发挥空间。

    它支持的数据类型有五种,分别是String(get/set ket-value)、List(有序 l/r/push/pop key value)、Hash(无序,hget/hset key-field-value)、Set(无序 sadd/rem key-values)、SortSet(有序zadd/zrem key-value)。 他可以与java进行整合,但需导入jedis的jar包 .在存入对象类型数据时, 需要将对象转换成 json格式才能存放到redis数据库中. 在项目中, 通常使用Redis技术进行单点登录时用户信息的存储购物网站中商品信息及商品分类信息的缓存.

    对Redis 的了解包括

    1. Redis是什么
      认识Redis, 并了解其特点

    2. 安装Redis
      安装单机版, 伪分布式, 完全分布式, 哨兵集群

    3. Redis数据类型
      认识并使用Redis的五种数据类型的使用以及Redis的其他命令

    4. Redis的配置以及持久化方案
      Redis配置文件的解读, Redis的两种持久化方式( ADB方式和AOF方式 )

    5. 用JedisAPI操作redis
      Redis支持各种客户端API, 这里使用Java来操作Redis.

    6. RedisDesktopManager的安装与使用
      使用Redis的客户端软件来管理Redis数据库

    Elastic Search

    ElasticSearch是一个基于Lucene的搜索引擎 / 服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

    Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到近实时搜索,稳定,可靠,快速,安装使用方便。

    对Elastic Search的了解包括

    1. 什么是Elastic Search
      对相关概念, ES功能, ES的使用场景, ES特点等进行介绍.

    2. ES核心概念
      对lucene和ES的关系, 倒排索引等重要概念的梳理.

    3. ES的安装以及使用
      安装ES, Kibana并学会使用简单的Kibana命令(JSON形式).

    Flume——高可用的、高可靠的、分布式日志收集系统

    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统, Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

    对Flume的了解包括:

    1. Flume是什么
      Flume相关概念的介绍, 架构原理介绍等

    2. 安装
      单节点搭建和集群搭建实现

    3. Flume Source
      Source是从其他生产数据的应用中接受数据的组件。Source可以监听一个或者多个网络端口,用于接受数据或者从本地文件系统中读取数据,每个Source必须至少连接一个Channel. 这里对Flume的常用的数据源进行介绍

    4. Flume Channel
      Channel主要是用来缓冲Agent以及接收,但尚未写出到另外一个Agent或者存储系统的数据。Channel的行为比较像队列, 这里对Flume常用的Channel进行介绍

    5. Flume Sinks
      Sink会连续轮训各自的Channel来读取和删除事件。Sink将事件推送到下一阶段(RPC Sink的情况下),或者到达最终目的地. 这里对Flume常用的Sink进行介绍.

    Kafka——分布式的消息队列

    kafka是一个高吞吐的分布式消息队列系统

    对Kafka的了解包括:

    1. Kafka是什么
      对Kafka相关概念介绍, 特点, 和其他消息队列的对比, 消息存储和生产消费模型等进行介绍.

    2. 安装
      集群安装( 前提: 需要有zookeeper支持 ).

    3. 使用
      基本命令, 查看zookeeper中topic相关信息, 删除kafka中的数据, 通过脚本启动Kafka, kafka的leader的均衡机制的介绍, kafka 0.11版本改变介绍.

    4. Kafka整合flume
      flume作为kafka的数据提供方(生产者), kafka的 kafka spout作为消息的消费者. 使Kafka能将数据发送到Flume上.

    后记

    除了上面的技术, 后续还会更新Kylin, Azkaban等

    • Apche Kylin 是 Hadoop 大数据平台上的一个开源 OLAP 引擎。它采用多维立方体 Cube 预计算技术,可以将特定场景下的大数据 SQL 查询速度提升到亚秒级别。

    • Azkaban是一个批量工作流调度器,底层是使用java语言开发,用于在一个工作流内以一定的顺序运行一组任务和流程,并且提供了非常方便的webui界面来监控任务调度的情况,方便我们来管理流调度任务。在复杂的大数据开发环境中每个任务都不是独立的,之间都会有依赖关系,Azkaban工作流调度器解决的就是此类问题。

    成为一个合格的大数据开发者不仅要掌握以上技术, 而且还要时时洞悉新的技术.
    人生有限, 技术之路无限. 而身心和技术, 应该同时在路上.

    展开全文
  • ⑴神经网络方法   神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分3大类:以感知机、...

    ⑴神经网络方法
       神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分3大类:以感知机、BP反向传播模型、函数型网络为代表的,用于分类、预测和模式识别的前馈式神经网络模型;以Hopfield的离散模型和连续模型为代表的,分别用于联想记忆和优化计算的反馈式神经网络模型;以ART模型、Koholon模型为代表的,用于聚类的自组织映射方法。神经网络方法的缺点是"黑箱"性,人们难以理解网络的学习和决策过程。

    ⑵遗传算法

    遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法,是一种仿生全局优化方法。遗传算法具有的隐含并行性、易于和其它模型结合等性质使得它在数据挖掘中被加以应用。

    Sunil已成功地开发了一个基于遗传算法的数据挖掘工具,利用该工具对两个飞机失事的真实数据库进行了数据挖掘实验,结果表明遗传算法是进行数据挖掘的有效方法之一[4]。遗传算法的应用还体现在与神经网络、粗集等技术的结合上。如利用遗传算法优化神经网络结构,在不增加错误率的前提下,删除多余的连接和隐层单元;用遗传算法和BP算法结合训练神经网络,然后从网络提取规则等。但遗传算法的算法较复杂,收敛于局部极小的较早收敛问题尚未解决。

    ⑶决策树方法

    决策树是一种常用于预测模型的算法,它通过将大量数据有目的分类,从中找到一些有价值的,潜在的信息。它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。最有影响和最早的决策树方法是由Quinlan提出的著名的基于信息熵的ID3算法。它的主要问题是:ID3是非递增学习算法;ID3决策树是单变量决策树,复杂概念的表达困难;同性间的相互关系强调不够;抗噪性差。针对上述问题,出现了许多较好的改进算法,如Schlimmer和Fisher设计了ID4递增式学习算法;钟鸣,陈文伟等提出了IBLE算法等。

    ⑷粗集方法

    粗集理论是一种研究不精确、不确定知识的数学工具。粗集方法有几个优点:不需要给出额外信息;简化输入信息的表达空间;算法简单,易于操作。粗集处理的对象是类似二维关系表的信息表。目前成熟的关系数据库管理系统和新发展起来的数据仓库管理系统,为粗集的数据挖掘奠定了坚实的基础。但粗集的数学基础是集合论,难以直接处理连续的属性。而现实信息表中连续属性是普遍存在的。因此连续属性的离散化是制约粗集理论实用化的难点。现在国际上已经研制出来了一些基于粗集的工具应用软件,如加拿大Regina大学开发的KDD-R;美国Kansas大学开发的LERS等。

    ⑸覆盖正例排斥反例方法

    它是利用覆盖所有正例、排斥所有反例的思想来寻找规则。首先在正例集合中任选一个种子,到反例集合中逐个比较。与字段取值构成的选择子相容则舍去,相反则保留。按此思想循环所有正例种子,将得到正例的规则(选择子的合取式)。比较典型的算法有Michalski的AQ11方法、洪家荣改进的AQ15方法以及他的AE5方法。

    ⑹统计分析方法

    在数据库字段项之间存在两种关系:函数关系(能用函数公式表示的确定性关系)和相关关系(不能用函数公式表示,但仍是相关确定性关系),对它们的分析可采用统计学方法,即利用统计学原理对数据库中的信息进行分析。可进行常用统计(求大量数据中的最大值、最小值、总和、平均值等)、回归分析(用回归方程来表示变量间的数量关系)、相关分析(用相关系数来度量变量间的相关程度)、差异分析(从样本统计量的值得出差异来确定总体参数之间是否存在差异)等。

    ⑺模糊集方法

    即利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。系统的复杂性越高,模糊性越强,一般模糊集合理论是用隶属度来刻画模糊事物的亦此亦彼性的。李德毅等人在传统模糊理论和概率统计的基础上,提出了定性定量不确定性转换模型–云模型,并形成了云理论。
    人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
    数据统计分析和数据挖掘有何区别?
    http://www.duozhishidai.com/article-11047-1.html
    数据挖掘的聚类算法和优势
    http://www.duozhishidai.com/article-12942-1.html
    如何通过自学,成为数据挖掘“高手”?
    http://www.duozhishidai.com/article-9796-1.html
    数据分析与数据挖掘的区别和联系?
    http://www.duozhishidai.com/article-9800-1.html
    构建一个数据挖掘模型,主要分为哪几步?
    http://www.duozhishidai.com/article-9719-1.html


    多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

    多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
      
    展开全文
  • (1)分类(2)回归分析(3)聚类(4)关联规则(5)神经网络方法(6)Web数据挖掘 在大数据时代,数据挖掘是最关键的工作。大数据的挖掘是从海量、不完全的、有噪声的、模糊的、随机的大型数据库中发现隐含在其中有价值的、...

    目录

    (1)分类
    (2)回归分析
    (3)聚类
    (4)关联规则
    (5)神经网络方法
    (6)Web数据挖掘

    在大数据时代,数据挖掘是最关键的工作。大数据的挖掘是从海量、不完全的、有噪声的、模糊的、随机的大型数据库中发现隐含在其中有价值的、潜在有用的信息和知识的过程,也是一种决策支持过程。其主要基于人工智能机器学习,模式学习,统计学等。通过对大数据高度自动化地分析,做出归纳性的推理,从中挖掘出潜在的模式,可以帮助企业、商家、用户调整市场政策、减少风险、理性面对市场,并做出正确的决策。目前,在很多领域尤其是在商业领域如银行、电信、电商等,数据挖掘可以解决很多问题,包括市场营销策略制定、背景分析、企业管理危机等。大数据的挖掘常用的方法有分类、回归分析、聚类、关联规则、神经网络方法、Web 数据挖掘等。这些方法从不同的角度对数据进行挖掘。

    数据准备的重要性:没有高质量的挖掘结果,数据准备工作占用的时间往往在60%以上。

    (1)分类

    分类是找出数据库中的一组数据对象的共同特点并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到摸个给定的类别中。可以应用到涉及到应用分类、趋势预测中,如淘宝商铺将用户在一段时间内的购买情况划分成不同的类,根据情况向用户推荐关联类的商品,从而增加商铺的销售量。

    分类的方法:决策树——是最流行的分类方法

    特点:

    a、它的每次划分都是基于最显著的特征的;

    b、所分析的数据样本被称作树根,算法从所有特征中选出一个最重要的,用这个特征把样本分割成若干子集;

    c、重复这个过程,直到所有的分支下面的实例都是“纯”的,即子集中各个实例都属于同一个类别,这样的分支即可确定为一个叶子节点。在所有子集变成“纯”的之后,树就停止生长了。

    决策树的剪枝:

    a、如果决策树建的过深,容易导致过度拟合问题(即所有的分类结果数量基本一样,没有代表性);

    b、剪枝通常采用自上而下的方式。每次找出训练数据中对预测精度贡献最小的那个分支,剪掉它;

    c、简言之,先让决策树疯狂生长,然后再慢慢往回收缩。整体上往回收缩多少,要根据在测试集上的表现来反复尝试。

    (2)回归分析

    回归分析反映了数据库中数据的属性值的特性,通过函数表达数据映射的关系来发现属性值之间的依赖关系。它可以应用到对数据序列的预测及相关关系的研究中去。在市场营销中,回归分析可以被应用到各个方面。如通过对本季度销售的回归分析,对下一季度的销售趋势作出预测并做出针对性的营销改变。

    分类的方法:逻辑回归——是一种常用的分类方法,非常成熟,应用非常广泛    

    特点:

    a、回归不只可以用于分类,也能用于发现变量间的因果关系;

    b、最主要的回归模型有多元线性回归和逻辑回归;

    c、有些时候逻辑回归不被当作典型的数据挖掘算法。

    逻辑回归的步骤:

    a、先训练,目的是找到分类效果最佳的回归系数;

    b、然后使用训练得到的一组回归系数,对输入的数据进行计算,判定它们所属的类别

    逻辑回归模型的检验:

    由于希望模型中的输入变量与目标变量之间的关系足够强,为此需要做两个诊断:

    a、对模型整体的检验——R2,即全部输入变量能够解释目标变量变异性的百分之多少。R2越大,说明模型拟合得越好;如果R2太小,则模型不可用于预测。

    b、回归系数的显著性(p-value),如果某个输入变量对目标变量的作用p-value小于0.05,则可以认为该输入变量具有显著作用。对不显著的输入变量可以考虑从模型中去掉。

    决策树与逻辑回归的比较:

    1、决策树由于采用分割的方法,所以能够深入数据细部,但同时失去了对全局的把握。一个分支一旦形成,它和别的分支或节点的关系就被切断,以后的挖掘只能在局部中行;

    2、逻辑回归始终着眼于整数数据的拟合,所以对全局模式把握较好;

    3、决策树比较容易上手,需要的数据预处理较少;

    4、逻辑回归模型不能处理缺失值,而且对异常值敏感。因此回归之前应该处理缺失值,并尽量删除异常值

    分类和回归分析被称为有监督学习:

    1、有标识;

    2、通过模仿做出正确分类的已有数据,从而能够对新的数据做出比较准确的分类。这就像教小孩学习一样。

     

     

    (3)聚类

    聚类类似于分类,但与分类的目的不同,是针对数据的相似性和差异性将一组数据分为几个类别。属于同一类别的数据间的相似性很大,但不同类别之间数据的相似性很小,跨类的数据关联性很低。

    (4)关联规则

    关联规则是隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现。关联规则的挖掘过程主要包括两个阶段:第一阶段为从海量原始数据中找出所有的高频项目组;第二极端为从这些高频项目组产生关联规则。关联规则挖掘技术已经被广泛应用于金融行业企业中用以预测客户的需求,各银行在自己的ATM 机上通过捆绑客户可能感兴趣的信息供用户了解并获取相应信息来改善自身的营销。

    聚类和关联规则被称为无监督学习:

    1、无标识;

    2、聚类:针对客户特征进行客户群划分。由此,我们可以对不同客户群采取差异化的促销方式;

    3、关联规则:分析发现购买面包的顾客中有很大比例的人同时购买牛奶,由此我们可以将牛奶与面包放在同一个地方。

    (5)神经网络方法

    神经网络作为一种先进的人工智能技术,因其自身自行处理、分布存储和高度容错等特性非常适合处理非线性的以及那些以模糊、不完整、不严密的知识或数据为特征的处理问题,它的这一特点十分适合解决数据挖掘的问题。典型的神经网络模型主要分为三大类:第一类是以用于分类预测和模式识别的前馈式神经网络模型,其主要代表为函数型网络、感知机;第二类是用于联想记忆和优化算法的反馈式神经网络模型,以Hopfield 的离散模型和连续模型为代表。第三类是用于聚类的自组织映射方法,以ART 模型为代表。虽然神经网络有多种模型及算法,但在特定领域的数据挖掘中使用何种模型及算法并没有统一的规则,而且人们很难理解网络的学习及决策过程。

    (6)Web数据挖掘

    Web数据挖掘是一项综合性技术,指Web 从文档结构和使用的集合C 中发现隐含的模式P,如果将C看做是输入,P 看做是输出,那么Web 挖掘过程就可以看做是从输入到输出的一个映射过程。

    当前越来越多的Web 数据都是以数据流的形式出现的,因此对Web 数据流挖掘就具有很重要的意义。目前常用的Web数据挖掘算法有:PageRank算法,HITS算法以及LOGSOM 算法。这三种算法提到的用户都是笼统的用户,并没有区分用户的个体。目前Web 数据挖掘面临着一些问题,包括:用户的分类问题、网站内容时效性问题,用户在页面停留时间问题,页面的链入与链出数问题等。在Web 技术高速发展的今天,这些问题仍旧值得研究并加以解决。

     

     

    原文地址:https://www.cnblogs.com/wlovet/p/8037426.html

    展开全文
  • 大数据常用分类方法有哪些?大量的数据是如何分类存储的,对于有可能重复和重叠的数据是怎样处理的?
  • 第一:大数据定义 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法通过人脑甚至主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。 首先给大家介绍...
  • 大数据常用技术栈

    千次阅读 2019-11-17 16:02:22
    提起大数据,不得不提由IBM提出的关于大数据的5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性),而对于...首先通过一张图来了解一下目前大数据领域常用的一...
  • 面对爆炸式增长的数据,如何建设高效的数据模型和体系,对这些数据进行有序和有结构地分类组织和存储,避免重复建设和数据不一致性,保证数据的规范性,一直是大数据系统建设不断追求的方向。 OneData即是阿里巴巴...
  • 带你了解常见的9种大数据分析方法

    千次阅读 2020-05-21 13:32:54
    数据分析是从数据中提取有价值信息的过程,过程中需要对数据进行各种处理和归类,只有掌握了正确的数据分类方法和数据处理模式,才能起到事半功倍的效果,以下是数据分析员必备的9种数据分析思维模式: 1、分类...
  • 关于大数据的概念,指的是无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。而大数据技术,是指从各种各样类型的数据中,快速获得有价值信息的能力。那么关于大数据的技术大致包含哪些内容?...
  • 常用大数据工具汇总

    千次阅读 2018-03-01 14:37:10
    常用大数据工具按主题分类为:语言web框架应用服务器SQL数据访问工具SQL数据库大数据构建工具云提供商现在让我们来讨论一下存储/处理数据用的不同的非SQL工具——NoSQL数据库,内存缓存,全文搜索引擎,实时流,...
  • 大数据常用图谱

    千次阅读 2020-07-14 21:50:12
    本系列主题是大数据开发面试指南,旨在为大家提供一个大数据学习的基本路线,完善数据开发的技术栈,以及我们面试一个大数据开发岗位的时候,哪些东西是重点考察的,这些公司更希望面试者具备哪些技能。 本文不会...
  • 常用大数据框架对比

    千次阅读 2019-06-26 17:59:01
    大数据是收集、整理、处理大量大规模数据集,并从中获得见解所需的非传统战略的技术统称,常用场景:推荐系统,根据用户行为进行相应推荐。资讯、商品等。 分类: 仅批处理框架 Apache Hadoop ...
  • 数据预处理方法主要包括数据清洗、数据集成、数据转换和数据消减。 1 .数据清洗 现实世界的数据常常是不完全的、含噪声的、不一致的。数据清洗过程包括缺失数据处理、噪声数据处理,以及不一致数据处理。 对于缺失的...
  • 大数据技术常用的12个工具总结

    千次阅读 2019-05-25 16:20:04
    为了满足企业的主要需求,大数据工具正在迅速得到应用。在大数据技术作为概念和业务战略出现的十年中,涌现了执行各种任务和流程的数千种工具。而推出这些工具的提供商都承诺可以为企业节省时间和成本,并发现能够让...
  • #资源达人分享计划#
  • 大数据常用算法及场景

    万次阅读 2018-03-28 13:09:42
    大数据常用算法及场景 大数据的挖掘是从海量、不完全的、有噪声的、模糊的、随机的大型数据库中发现隐含在其中有价值的、潜在有用的信息和知识的过程,也是一种决策支持过程。其主要基于人工智能,机器学习,模式...
  • 常用的四种大数据分析方法

    万次阅读 2018-06-07 16:32:57
    本文主要讲述数据挖掘分析领域中,最常用的四种数据分析方法:描述型分析、诊断型分析、预测型分析和指令型分析。 当刚涉足数据挖掘分析领域的分析师被问及,数据挖掘分析人员最重要的能力是什么时,他们给出了...
  • 大数据时代,数据挖掘是最关键的工作。大数据的挖掘是从海量、不完全的、有噪声的、模糊的、随机的大型数据库中发现隐含在其中有价值的、潜在有用的信息和知识的过程,也是一种决策支持过程。其主要基于人工智能,...
  • 当刚涉足大数据挖掘分析领域的分析师被问及,大数据挖掘分析人员最重要的...简单地来说在大数据挖掘分析领域中,最常用的四种大数据分析方法:描述型分析、诊断型分析、预测型分析和指令型分析。 一、大数据分析...
  • 用于大数据分类的KNN算法研究

    千次阅读 2016-12-20 15:53:19
    随着信息技术的快速发展,大数据时代已经到来,人们迫切需要研究出更加方便...现有的分类算法有很多种,比较常用的有KNN,Native Bayes, Neural Net 、SVM,LLSF 等方法。  针对这些算法处理大规模数据时存在的问题,国
  • 今天老师给大家分享一篇关于大数据开发常见的9种数据分析方法,首先数据分析是从数据中提取有价值信息的过程,过程中需要对数据进行各种处理和归类,只有掌握了正确的数据分类方法和数据处理模式,才能起到事半功倍...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,276
精华内容 16,510
关键字:

常用大数据分类方法