<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenbengang的博客]]></title><description><![CDATA[一个默默追求梦想的boy！]]></description><link>https://blog.youkuaiyun.com/chenbengang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenbengang]]></copyright><item><title><![CDATA[大数据-数据仓库Hive]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/105905372</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/105905372</guid><author>chenbengang</author><pubDate>Thu, 07 May 2020 16:49:40 +0800</pubDate><description><![CDATA[数据仓库Hive
一、Hive简介
数据仓库：面向主题、集成的、相对稳定的、反应历史变化的数据集合，用于支持管理决策。

传统数据仓库面临挑战：无法满足海量数据存储需求；无法有效处理不同类型数据；计算可处理能力不足。
Hive满足上述挑战，且Hive架构在底层的Hadoop核心组件基础之上。借助HDFS和MapReduce两个Hadoop核心组件。借助SQL语言的新的查询语言HiveQL。
Hiv...]]></description><category></category></item><item><title><![CDATA[大数据-MapReduce]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/104936642</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/104936642</guid><author>chenbengang</author><pubDate>Fri, 01 May 2020 09:44:59 +0800</pubDate><description><![CDATA[大数据-MapReduce
分布式并行编程

传统的并行计算，共享型方案刀片服务器，适用于实时的细粒度计算，尤其是计算密集的应用。
MapReduce扩展性好，节点普通pc也可，每个节点拥有自己的内存和空间，适用于非实时的批处理，以及数据密集型的应用。

MapReduce模型

复杂的计算过程高度抽象成两个函数，map和reduce。
将庞大数据切片，对每个小片并行的单独使用map处理，计算向数...]]></description><category></category></item><item><title><![CDATA[分布式数据库HBase]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/104265143</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/104265143</guid><author>chenbengang</author><pubDate>Fri, 21 Feb 2020 16:50:57 +0800</pubDate><description><![CDATA[分布式数据库HBase
一、HBase简介（基于bigtable）：
bigtable的用处： bigtable支持pb级别数据，高可扩展性，可扩展到几千个服务器的分布式存储。存储非结构化和半结构化数据。

bigtable的原理：


HBase相比于关系型数据库具备自动分片能力、良好的水平可扩展性。

二、HBase数据模型
HBase由行键、列族，列限定符，时间戳四个元素组成。旧的版本保留，...]]></description><category></category></item><item><title><![CDATA[分布式文件系统HDFS]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/104219222</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/104219222</guid><author>chenbengang</author><pubDate>Tue, 11 Feb 2020 15:45:59 +0800</pubDate><description><![CDATA[hdfs相关概念
namenode包括fsimage和editlog组成。
fsimage：保存系统文件树，记录块大小及组成文件的块、访问权限、文件的复制等级、修改和访问时间。
editlog：记录对数据的增删改查等操作。
datanode：将数据保存到linux文件系统即可，负责存和取。
至于块被放在哪个地方是由namenode构建清单，与datanode沟通。

如果只有fsimage则运行过...]]></description><category></category></item><item><title><![CDATA[Spark大数据-基于Hive和Spark的淘宝双11数据分析与预测]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/104015309</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/104015309</guid><author>chenbengang</author><pubDate>Fri, 17 Jan 2020 16:26:50 +0800</pubDate><description><![CDATA[基于Hive和Spark的淘宝双11数据分析与预测
1.系统和环境要求（版本仅供参考）：

Linux: centos7
MySQL: 5.7.16
Hadoop: 2.7.1
Hive: 1.2.1
Sqoop: 1.4.6
Spark: 2.1.0
Eclipse: 3.8
ECharts: 3.4.0

2.数据上传到Hive（Hive的安装配置）
2.1数据集格式内容
数据集压缩包为dat...]]></description><category></category></item><item><title><![CDATA[Linux查看文件指定行数内容]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/104015652</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/104015652</guid><author>chenbengang</author><pubDate>Fri, 17 Jan 2020 10:47:34 +0800</pubDate><description><![CDATA[Linux查看文件指定行数内容
1、tail date.log               输出文件末尾的内容，默认10行
 tail -20  date.log        输出最后20行的内容

 tail -n -20  date.log    输出倒数第20行到文件末尾的内容

 tail -n +20  date.log   输出第20行到文件末尾的内容

 tail -f date....]]></description><category></category></item><item><title><![CDATA[Spark大数据-Spark+Kafka构建实时分析Dashboard]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/104007583</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/104007583</guid><author>chenbengang</author><pubDate>Fri, 17 Jan 2020 10:19:10 +0800</pubDate><description><![CDATA[Spark+Kafka构建实时分析Dashboard
1.框架
利用Spark+Kafka实时分析男女生每秒购物人数，利用Spark Streaming实时处理用户购物日志，然后利用websocket将数据实时推送给浏览器，最后浏览器将接收到的数据实时展现，案例的整体框架图如下：

详细分析下上述步骤：

应用程序将购物日志发送给Kafka，topic为”sex”，因为这里只是统计购物男女生人数，...]]></description><category></category></item><item><title><![CDATA[Spark大数据-TMDB电影数据分析（spark-scala版）]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103999875</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103999875</guid><author>chenbengang</author><pubDate>Thu, 16 Jan 2020 16:29:08 +0800</pubDate><description><![CDATA[TMDB电影数据分析（spark-scala版，pyspark版本）
基于kaggle的TMDB电影数据集的数据分析，该数据集包含大约 5000 部电影的相关数据，TMDB数据下载。分析电影关键词的分布、电影投入以及收益评价等之间的关系，并使用Python web进行可视化。
一.环境要求（仅供参考）
centos7、hadoop、spark、bottle（一种基于Python的web框架）。
二...]]></description><category></category></item><item><title><![CDATA[Spark大数据-ml的逻辑斯蒂回归和决策树解决分类问题]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103783540</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103783540</guid><author>chenbengang</author><pubDate>Tue, 31 Dec 2019 15:40:56 +0800</pubDate><description><![CDATA[ml的逻辑斯蒂回归和决策树解决分类问题
1.逻辑斯蒂回归解决分类问题
使用ml库的逻辑斯蒂回归解决鸢尾花的二分类问题：
// 二分类逻辑斯地回归，只用两个属性长度和宽度
import org.apache.spark.sql.Row

import org.apache.spark.ml.linalg.{Vector,Vectors}
import org.apache.spark.ml.eval...]]></description><category></category></item><item><title><![CDATA[Spark大数据-特征抽取CountVectorizer]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103778747</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103778747</guid><author>chenbengang</author><pubDate>Tue, 31 Dec 2019 10:43:26 +0800</pubDate><description><![CDATA[特征抽取CountVectorizer



// 通过计数将文档转化为向量的，产生文档关于词语的稀疏表示
// CountVectorizer将根据语料库中的词频排序从高到低进行选择，词汇表的最大含量由vocabsize超参数来指定，超参数minDF，
// 则指定词汇表中的词语至少要在多少个不同文档中出现
import org.apache.spark.sql.SparkSession
val...]]></description><category></category></item><item><title><![CDATA[Spark大数据-特征抽取Word2Vec(Scala版)]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103778163</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103778163</guid><author>chenbengang</author><pubDate>Tue, 31 Dec 2019 10:23:16 +0800</pubDate><description><![CDATA[特征抽取Word2Vec


import org.apache.spark.sql.SparkSession
val spark=SparkSession.builder().master("local").appName("word2vec").getOrCreate()
import spark.implicits._
import org.apache.spark.ml.feature.W...]]></description><category></category></item><item><title><![CDATA[Spark大数据-特征抽取TF-IDF]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103777466</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103777466</guid><author>chenbengang</author><pubDate>Tue, 31 Dec 2019 10:04:32 +0800</pubDate><description><![CDATA[特征抽取TF-IDF

import org.apache.spark.ml.feature.{HashingTF,IDF,Tokenizer}
import org.apache.spark.sql.SparkSession
val spark=SparkSession.builder().
    master("local").
    appName("TF-IDF-Test").
   ...]]></description><category></category></item><item><title><![CDATA[Spark大数据-Spark MLib机器学习流水线Pipeline]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103769911</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103769911</guid><author>chenbengang</author><pubDate>Tue, 31 Dec 2019 09:14:47 +0800</pubDate><description><![CDATA[Spark MLib机器学习流水线Pipeline
DataFrame作为基本的数据抽象。
Transform：转化器，传入DataFrame转换成新的DataFrame。
Estimator：评估器，fit训练得到模型。
Pipeline：流水线，多步骤组合。
构建Pipeline：

// 构建一个机器学习工作流
// 在原始DataFrame上调用Pipeline.fit（）方法，它具有原始...]]></description><category></category></item><item><title><![CDATA[Spark-Spark MLib简介]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103769394</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103769394</guid><author>chenbengang</author><pubDate>Mon, 30 Dec 2019 17:17:15 +0800</pubDate><description><![CDATA[Spark MLib简介




hadopp实现机器学习：MapReduce也可以编写机器学习，基于磁盘操作，多次迭代计算磁盘IO开销大。
spark实现机器学习：spark是基于内存，只有shuffle操作需要落磁盘，实现管道化处理，在内存中完成数据交接。大大减少在磁盘的IO开销。基于MLib库。

MLib包含：
分类、回归、聚类、协同过滤、降维。
特征化工具：特征提取、转化、降维、选择工具...]]></description><category></category></item><item><title><![CDATA[Spark大数据-structured streaming]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103762311</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103762311</guid><author>chenbengang</author><pubDate>Mon, 30 Dec 2019 16:48:06 +0800</pubDate><description><![CDATA[structured streaming概述

structured streaming引入持续流处理模式，真正支持毫秒级别响应。spark streaming无法满足毫秒级响应。2.2正式发布。
重新抽象流式计算，基于DataFrame数据抽象。易于exactly-once（所有数据只被处理一次），以前的spark为at-least once(所有数据至少处理一次)。



1.structur...]]></description><category></category></item><item><title><![CDATA[Spark大数据-spark streaming输出操作]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103761693</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103761693</guid><author>chenbengang</author><pubDate>Mon, 30 Dec 2019 10:25:26 +0800</pubDate><description><![CDATA[spark streaming输出操作
其他部分与转换操作一样，只需要添加输出保存部分，保存为文件使用saveAsTextFiles，输出到mysql数据库。
object NetworkWordCountStateful {
  def main(args: Array[String]) {
    //定义状态更新函数
    val updateFunc = (values: Seq[Int...]]></description><category></category></item><item><title><![CDATA[Spark大数据-spark streaming转换操作]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103742224</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103742224</guid><author>chenbengang</author><pubDate>Sat, 28 Dec 2019 20:04:08 +0800</pubDate><description><![CDATA[spark streaming转换操作
1.无状态转换
map操作：源 为DStream，一次一对一转换。

flatMap：一个输入映射成0或多个输出项。

filter：过滤，满足条件的过滤出来。

repartition：改变DStream用的分区数。

reduce：提供聚合函数，进行聚合运算。

count：统计源DStream中每个RDD的元素数量。
union：合并多个DStream...]]></description><category></category></item><item><title><![CDATA[大数据-ambari安装过程中的问题]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103650921</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103650921</guid><author>chenbengang</author><pubDate>Sun, 22 Dec 2019 09:41:37 +0800</pubDate><description><![CDATA[1.解决安装ambari需要大于等于python2.6：centos7，安装配置好java环境。
2.解决没有权限登录问题：先按照那两个博客配置好ssh localhost免密登录，再按照cnblogs的配置思路，有分布式的话，配置好分布式的免密登录问题。
3.解决连接超时问题。

...]]></description><category></category></item><item><title><![CDATA[java编程-反射在数据库上的应用]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103626976</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103626976</guid><author>chenbengang</author><pubDate>Fri, 20 Dec 2019 09:44:57 +0800</pubDate><description><![CDATA[java反射在数据库上的应用
一、java反射：1.在运行状态中，对于任意一个类，都能够知道这个类的所有属性和方法。 2.对于任意一个对象，都能够调用它的任意一个方法。这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
二、反射在数据库上的应用：传统的数据库操作代码为，每个表格创建dao类效率低。一个dao方法，四个方法操作，传入不同对象。反射机制用来做重复有规则事情。保存...]]></description><category></category></item><item><title><![CDATA[Spark大数据-输入源之kafka的spark streaming流处理]]></title><link>https://blog.youkuaiyun.com/chenbengang/article/details/103576066</link><guid>https://blog.youkuaiyun.com/chenbengang/article/details/103576066</guid><author>chenbengang</author><pubDate>Wed, 18 Dec 2019 11:35:36 +0800</pubDate><description><![CDATA[Spark大数据-输入源之kafka
kafka相关基础
高吞吐量的分布式发布订阅消息系统，能订阅和发布消息。


broker：kafka集群中每个节点服务器叫broker。
topic：消息扔给某个topic，订阅相关topic即可。
partition：每个topic消息非常多，所以需要分区放在多台服务器上。
生产者：把消息发给kafka broker。
消费者：向kafka broker读...]]></description><category></category></item></channel></rss>