大数据生态圈
文章平均质量分 71
生态架构:
Yarn+HDFS、MapReduce、Yarn+Spark、Spark Core、Spark Streaming、Spark SQL、Hive、Hbase、flume、kafka、storm、zookeeper
算法:NB/LR/Kmeaeans/CB/CF
曾牛
成功的三个关键,坚持,坚持,再坚持
展开
-
Hadoop生态架构之LogServer实现
分布式日志数据采集1.NGINX配置:slave2作为分发节点,master和slave1作为日志采集节点slave2的NGINX配置如下图:slave1和master的NGINX配置如下图:2.slave1和master的flume作为客户端的配置:flume client端配置文件:flume-client.properties:# 定义这个agent中各组件的名字a1.s...原创 2020-01-11 15:44:55 · 504 阅读 · 0 评论 -
Hadoop生态架构之Hbase
1.Hbase定义HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,因此可以容错地存储海量稀疏的数据。2.特性1.高可靠2.高并发读写3.面向列4.可伸缩5.易构建3.行存储 v s 列存储行存储优点:写入一次性完成,保持...原创 2020-01-11 15:44:19 · 305 阅读 · 0 评论 -
Hadoop生态架构之Spark Streaming
1、Streaming定位是Spark体系内的流式处理框架(和Storm对比)2、和Storm对比Storm:数据像水流一样,最基本的单位是tuple——毫秒级Streaming:把水状的数据,按照时间进行离散化处理——秒级3、和Spark Core对比1.关系:Spark Core是核心的计算引擎,支撑了很多项目,Streaming是其中一个2.算子:Core中,算子有两类:t...原创 2020-01-11 15:43:09 · 258 阅读 · 0 评论 -
streaming通过sql实现wordcount代码
代码package com.badou.sqlimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.rdd.RDDimport org.apache.spark.streaming.{Time, Seconds, StreamingContext}i...原创 2019-03-20 22:21:44 · 158 阅读 · 0 评论 -
kafka通过spark-streaming往hbase里写数据
1.启动kafka:]# ./bin/kafka-server-start.sh config/server.properties2 查看topic list./bin/kafka-topics.sh --list --zookeeper localhost:21813.streaming代码:package com.badou.streamingimport org.ap...原创 2019-03-20 22:13:21 · 1059 阅读 · 0 评论 -
spark-sql实践
实践一:读取hdfs方式访问数据1.数据准备:2.spark-sq代码:package com.badou.sqlimport org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.sql.Rowimport org.apache.spark.sql.types.{StringType, Str...原创 2019-03-20 21:49:08 · 136 阅读 · 0 评论 -
spark-streaming实践代码
实践1:wordcount1.1本地跑wordcount代码(无状态):package com.badou.streamingimport org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.storage.St...原创 2019-03-20 13:36:31 · 384 阅读 · 0 评论 -
storm报错 You're probably bundling the Storm jars with your topology jar.
java.lang.RuntimeException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar.执行storm开发的jar包报错原因:storm-corejar包冲突解决办法...原创 2019-03-20 11:57:45 · 439 阅读 · 0 评论 -
fume+kafka+storm+hbase的集成代码
1.启动hbase(前提启动了zookeeper和hdfs)查看进程:进入hbaseshell终端:查看hbase状态:查看表列表:查询new_music_table数据:scan 'new_music_table'2.启动kafka:3.编写storm代码:stormKafka.java:package stormHbase;...原创 2019-03-20 10:46:07 · 253 阅读 · 0 评论 -
flume+kafka+storm+中文分词
思想:flume发送,storm接受,调用webpy服务完成中文分词storm代码:stormKafka.java:package stormHttp;import backtype.storm.Config;import backtype.storm.LocalCluster;import backtype.storm.StormSubmitter;import bac...原创 2019-03-20 10:18:05 · 210 阅读 · 0 评论 -
flume+kafka+storm的集成
第一步:启动storm:1.1启动storm集群master: python bin/storm nimbus & python bin/storm ui & python bin/storm logviewer &slave: python bin/storm supervisor &...原创 2019-03-20 09:30:33 · 259 阅读 · 0 评论 -
storm打jar包执行报错问题You're probably bundling the Storm jars with your topology jar.
在storm项目中,打好jar包,到集群环境下运行报错:原因:在storm-core包中有defaults.yaml这个文件,因为默认maven打包的scope是compile,所以maven打包后,本地的storm-core包也被打入的jar,由于集群环境中,也存在storm-core包,所以会出现文件defaults.yaml重复的错误。解决办法:1、可以在打包后删除该文件...原创 2019-03-19 23:27:33 · 702 阅读 · 0 评论 -
sklearn之三分类应用
用到的代码目录:1.入门demo:(先不关心具体数据是什么)python代码:lr_iris.pyimport numpy as npfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import Logisti...原创 2019-03-21 14:43:05 · 1342 阅读 · 1 评论 -
softmax(多分类算法)实践
1.训练集规模:数据(第一行为维度,每个字段的名字):第二行为具体真是样本数据:第一列是标签,后面是特征(0-9的数字识别)样本格式(10分类,每个类别的样本数较均匀):图像:28*28:softmax代码:# encoding=utf8import sysimport mathimport pandas as pdimport numpy a...原创 2019-03-12 11:25:31 · 4540 阅读 · 5 评论 -
机器学习概述
机器学习概念:一些概念:python机器学习:词袋法(WOB):统计文本中各个单词出现的数量,使用单词出现的数量作为文本的特征向量;词袋法中使用单词作为特征,但是一般情况下单词比较多,所以可以考虑自定义词典作为特征,然后对文档中自定义文档中出现的单词的数量进行统计即可。召回率和精确率互斥,F...原创 2019-03-09 13:23:49 · 110 阅读 · 0 评论 -
朴素贝叶斯算法
理论:P(X|Y) = P(X,Y)/P(Y)P(X,Y) = P(X|Y)P(Y)P(X,Y) = P(Y|X)P(X)由此推导出朴素贝叶斯公式:P(X|Y) = P(Y|X)P(X)/P(Y)由此推导:p(yi|X) = P(yi)p(X|yi)/P(X)Y = 表示类别集合{军事0、财经1、体育2}yi = 表示第i个类别X = 一篇文章xi = 文章中的某...原创 2019-03-03 15:09:28 · 612 阅读 · 2 评论 -
sqoop的导入导出
1.Sqoop的数据导入在mysql中有一个库userdb中三个表:emp,emp_add和emp_contact表emp: id name deg salary dept 1201 gopal manager ...原创 2019-03-02 12:02:05 · 181 阅读 · 0 评论 -
sqoop安装
安装sqoop的前提是已经具备java和hadoop的环境1、下载并解压最新版下载地址http://ftp.wayne.edu/apache/sqoop/1.4.6/2、修改配置文件$ cd $SQOOP_HOME/conf$ mv sqoop-env-template.sh sqoop-env.sh打开sqoop-env.sh并编辑下面几行:export HADOOP...原创 2019-03-02 11:51:16 · 91 阅读 · 0 评论 -
flume采集案例
1、采集目录到HDFS采集需求:某服务器的某特定目录下,会不断产生新的文件,每当有新文件出现,就需要把文件采集到HDFS中去根据需求,首先定义以下3大要素采集源,即source——监控文件目录 : spooldir 下沉目标,即sink——HDFS文件系统 : hdfs sink source和sink之间的传递通道——channel,可用file channel 也可以用内...原创 2019-03-02 11:47:20 · 162 阅读 · 0 评论 -
Flume的安装部署
1.Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境上传安装包到数据源所在节点上然后解压tar -zxvf apache-flume-1.6.0-bin.tar.gz然后进入flume的目录,修改conf下的flume-env.sh,在里面配置JAVA_HOME2、根据数据采集的需求配置采集方案,描述在配置文件中(文件名可任意自定义)3、指定采集方...原创 2019-03-02 11:32:08 · 114 阅读 · 0 评论 -
kafka集成flume
理论知识:1、定位:分布式的消息队列系统,同时提供数据分布式缓存功能(默认7天)2、消息持久化到磁盘,达到O(1)访问速度,预读和后写,对磁盘的顺序访问(比内存访问还要快)3、Storm(分布式的实时计算框架) Kafka目标成为队列平台4、基本组件: Broker:每一台机器是一个Broker Producer:日志消息...原创 2019-03-02 11:26:31 · 263 阅读 · 3 评论 -
zookeeper原理
Zookeeper虽然在配置文件中并没有指定master和slave但是,zookeeper工作时,是有一个节点为leader,其他则为followerLeader是通过内部的选举机制临时产生的(1)zookeeper的选举机制(全新集群paxos)以一个简单的例子来说明整个选举的过程.假设有五台服务器组成的zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就...原创 2019-03-03 17:11:33 · 72 阅读 · 0 评论 -
zookeeper结构和命令
1.zookeeper特性1、Zookeeper:一个leader,多个follower组成的集群2、全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的3、分布式读写,更新请求转发,由leader实施4、更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行5、数据更新原子性,一次数据更新要么成功,要么失...原创 2019-03-03 17:05:11 · 178 阅读 · 0 评论 -
zookeeper集群搭建
zookeeper适合装在奇数台机器上!!!1.官网下载zookeeper2.解压:tar -zxvf zookeeper-3.4.5.tar.gz3.修改环境变量:ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.11export ZOOKEEPER_HOMEPATH=$ZOOKEEPER_HOME/bin:$PATHexport PA...原创 2019-03-01 17:21:05 · 79 阅读 · 0 评论 -
streaming通过sql对hbase写入数据
代码package com.badou.streamingimport org.apache.hadoop.hbase._import org.apache.hadoop.hbase.client._import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContex...原创 2019-03-20 22:29:33 · 139 阅读 · 0 评论 -
azkaban的安装部署
azkaban安装包:下载地址:链接:https://pan.baidu.com/s/12TF3Khh-D_4v8gdshXrDjw提取码:esju步骤一:解压到/usr/local/src/azkaban目录下步骤二:连接mysql,创建azkaban数据库:mysql> create database azkaban;Query OK, 1 row aff...原创 2019-02-26 14:42:45 · 214 阅读 · 0 评论 -
协同过滤推荐算法
基于内容推荐的理论:1、基于内容推荐Content Based2、基于行为推荐Collaboration Filtering User Based Item Based基于内容推荐的优缺点:相关性计算:对于两个物品相似度进行打分排序:取top基于内容推荐的公式:基于协同推荐的理论:优缺点:基于协同过滤的思想:把基于...原创 2019-03-01 15:08:43 · 308 阅读 · 0 评论 -
java.lang.IllegalArgumentException: requirement failed: Column features must be of type org.apache.s
lr训练模型报错:val model1 = lr.fit(training)java.lang.IllegalArgumentException: requirement failed: Column features must be of type org.apache.spark.ml.linalg.VectorUDT@3bfc3ba7 but was actually org.apa...原创 2019-04-24 11:44:49 · 2786 阅读 · 0 评论 -
spark-sql性能优化
原创 2019-03-08 15:00:14 · 258 阅读 · 0 评论 -
spark实现将相同用户(key)所有item列表聚合
数据:用户id,itemid,分数代码:import org.apache.spark.{SparkConf, SparkContext}object userwatchlist { def main(args: Array[String]): Unit = { val conf = new SparkConf() //conf.setMaster("local...原创 2019-03-08 14:42:15 · 2231 阅读 · 0 评论 -
spark-sql相关实践
给定数据:orders表:product表:priors表:实现以下业务需求:1.统计product被购买的数量:val productCnt = priors.groupBy("product_id").count()2..统计product 被reordered的数量(再次购买)product_id做group by(聚合),统计一下sum(re...原创 2019-03-08 14:34:52 · 337 阅读 · 0 评论 -
spark-core学习笔记
1.spark和MapReduce比较:1)MR是批量计算框架,Spark-Core也是批量计算框架2)Spark相比MR速度快,MR作为一个job,在中间环节中结果是落地的(会经过磁盘交换),Spark计算过程中数据流转都是在内存的(减少了对HDFS的依赖)3)MR:多进程模型(缺点:每个任务启动时间长,所以不适合于低延迟的任务 优点:资源隔离,稳定性高,开发...原创 2019-03-07 21:43:55 · 162 阅读 · 0 评论 -
RDD的五大特性
原创 2019-03-07 20:58:59 · 145 阅读 · 0 评论 -
spark-streaming运行wordcount命令
spark-submit --class org.apache.spark.examples.streaming.HdfsWordCount \ --master yarn-cluster \/usr/local/src/spark-2.1.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.0.jar\ hdfs:...原创 2019-03-07 16:43:40 · 740 阅读 · 0 评论 -
spark实践cf(协同过滤)算法
import org.apache.spark.{SparkConf, SparkContext}import scala.collection.mutable.ArrayBufferimport scala.math._object cf { def main(args: Array[String]): Unit = { val conf = new SparkConf()...原创 2019-03-06 15:38:28 · 227 阅读 · 0 评论 -
scala和spark实践wordcount
1.scala实现:数据The_Man_of_Property.txt:实现代码:结果:2.spark实现:数据:同上代码:结果:原创 2019-03-06 16:46:39 · 184 阅读 · 0 评论 -
scala学习笔记
第一章.scala数据类型定义float类型:float类型转成double类型:判断是否是某个类型:懒加载lazy:第二章.scala函数实践:默认函数:和python的默认函数一样。命名函数:在函数调用的时候,可以通过名字将参数传入。可变参数:和python的语法一样条件表达式的赋值:循环表达式:to和...原创 2019-03-05 19:16:22 · 195 阅读 · 0 评论 -
window本地启动hadoop集群datanode节点报错:java.io.IOException: All specified directories are failed to load
错误原因:Hadoop启动后,在使用格式化namenode,会导致datanode和namenode的clusterID不一致解决办法:修改datanode下的clusterID和namenode的clusterID一致:1.先找到/etc/hadoop/hdfs-site.xml2.里面有datanode的路径,在那个路径下找:/current/VERSION文件,即可修改c...原创 2019-04-05 11:42:50 · 272 阅读 · 0 评论 -
启动hadoop,只有两个从节点没有DataNode的异常
解决办法:在从节点的logs中查看日志如下:发现问题原因是主节点的VERSIONID和从节点不一样导致的解决办法:1.有重要数据情况下:把主节点的VERSIONID复制到从节点中2.没有重要数据情况下:把主节点的hdfs文件夹都删掉...原创 2019-03-31 18:04:03 · 2460 阅读 · 0 评论 -
启动hadoop集群报错The authenticity of host 'master (172.16.22.41)' can't be established. ECDSA key fingerp
解决办法:找到/etv/ssh/ssh_config在最后添加:StrictHostKeyChecking noUserKnownHostsFile /dev/null或者:ssh-o StrictHostKeyChecking=no192.168.0.xxx内网中非常信任的服务器之间的ssh连接...原创 2019-03-31 14:38:57 · 3445 阅读 · 1 评论