摘要: ## 项目01-flume、kafka与hdfs日志流转### 1、启动kafka集群```shell$>xkafka.sh start```### 3、创建kafka主题```shellkafka-topics.sh --zookeeper s102:2181 --create --topic topic-umeng-raw-logs2 --replication-fact... 阅读全文
posted @ 2018-08-27 20:48 大道至简(老徐) 阅读(547) 评论(0) 推荐(0) 编辑
摘要: ## 日志滚动与cron调度### 1、日志滚动nginx默认日志不能进行滚动,始终写入到一个文件中,即access.log。编写日志滚动的shell脚本,并使用linux的cron定时调度周期性进行日志文件滚动。#### 1.1 编写滚动脚本1. 创建roll_log.sh脚本文件 以root身份在/usr/local/bin/创建umeng_roll_log.sh文件 ```shell... 阅读全文
posted @ 2018-08-27 20:47 大道至简(老徐) 阅读(307) 评论(0) 推荐(0) 编辑
摘要: ## 项目01-nginx模块### 1、nginx介绍nginx是一款高性能web服务器和反向代理服务器,在互联网项目中使用非常频繁,尤其其出色的性能以及轻量级进程占用,已经超过了apache的httpd服务器的使用量。内部可以配置零拷贝实现快速文件传输。### 2、openrestyopenresty是将nginx现有一些重要插件做了集成,省去安装nginx之后还需要在安装插件的繁琐步骤,内置... 阅读全文
posted @ 2018-08-27 20:46 大道至简(老徐) 阅读(219) 评论(0) 推荐(0) 编辑
摘要: ## Spark机器学习### 1、介绍MLlib是spark机器学习库,目标是让机器学习易用使用并具有伸缩性。在更高层面上,提供如下工具:- ML算法 常用算法,比如分类、回归、聚类和协同过滤。- 特征 特征抽取,特征变换、降维以及选择。- 管线 构造、计算以及调优管线的工具。- 持久化 保存、加载算法、模型和管线。- 工具 线性代数、统计学、数据处理等等。### 2、基础概念- ve... 阅读全文
posted @ 2018-08-27 20:45 大道至简(老徐) 阅读(533) 评论(0) 推荐(0) 编辑
摘要: ## 项目01-手机端模块### 1、项目描述### 2、术语说明- App 手机应用程序- App开发商 开发App的企业和个人- 用户 安装了App的人员。- 数据服务商 提供数据服务的企业。- 数据服务平台 数据服务商的产品。- 租户 租用了数据服务商的App开发商- 云版 数据服务商部署自己的数据服务平台到云中。- 企业版 数据服务商出售数据服... 阅读全文
posted @ 2018-08-27 20:45 大道至简(老徐) 阅读(191) 评论(0) 推荐(0) 编辑
摘要: ## Spark内存管理### 1、介绍spark内存管理不是通过物理或者硬件底层API实现对内存资源探测,只是通过对内存操作过程期间的字节量的变化不断更新维护的数字,通过该方式跟踪内存使用情况。spark对每个task都关联了内存的使用量,存放在了map中。严格意义上讲,spark内存的管理是估算量,不是精确量。spark的内存管理主要针对的堆内内存,和离堆非堆无关。### 2、Spark内存结... 阅读全文
posted @ 2018-08-27 20:44 大道至简(老徐) 阅读(447) 评论(0) 推荐(0) 编辑
摘要: ## Spark Streaming### 1、介绍Spark Streaming是Spark core API的扩展,针对实时数据流计算,具有可伸缩性、高吞吐量、自动容错机制的特点。数据源可以来自于多种方式,例如kafka、flume等等。使用类似于RDD的高级算子进行复杂计算,像map、reduce、join和window等等。最后,处理的数据推送到数据库、文件系统或者仪表盘等。也可以对流计算... 阅读全文
posted @ 2018-08-27 20:43 大道至简(老徐) 阅读(473) 评论(0) 推荐(0) 编辑
摘要: ## Spark SQL### 1、介绍 Spark SQL是构建在Spark core模块之上的四大模块之一,提供DataFrame等丰富API,可以采用传统的SQL语句进行数学计算。运行期间,会通过Spark查询优化器翻译成物理执行计划,并行计算后输出结果。底层计算原理仍然采用RDD计算实现。### 2、Spark与Hive集成1. 在spark配置目录下创建指向hive-site.xml文件... 阅读全文
posted @ 2018-08-27 20:42 大道至简(老徐) 阅读(566) 评论(0) 推荐(0) 编辑
摘要: ## Spark Job调度### 1、概览Spark有几种用于在计算之间调度资源的工具。首先,回想一下,如[集群模式概述中所述](http://spark.apache.org/docs/latest/cluster-overview.html),每个Spark应用程序(SparkContext的实例)都运行一组独立的executor进程。Spark运行的集群管理器提供了跨应用程序的调度工具。其... 阅读全文
posted @ 2018-08-27 20:41 大道至简(老徐) 阅读(5195) 评论(0) 推荐(0) 编辑
摘要: ## Spark master节点HA配置### 1、介绍Spark HA配置需要借助于Zookeeper实现,因此需要先搭建ZooKeeper集群。### 2、配置#### 2.1 修改所有节点的spark-evn.sh文件在spark-env.sh文件添加如下环境变量:```properties#需要将该条目注释掉#export SPARK_MASTER_IP=master1 #导入expor... 阅读全文
posted @ 2018-08-27 20:40 大道至简(老徐) 阅读(1348) 评论(0) 推荐(0) 编辑
摘要: ## 机器学习 ### 1、介绍 机器学习是科学的一个分支,涉及编程系统,他们会自动学习和改进的经验。在这里,学习意味着认识和理解输入的数据。根据所提供的数据,并作出明智的决定。这些算法从特定的数据和过去的经验,统计,概率论,逻辑,组合优化,搜索,强化学习和控制理论的原则,建立知识。机器学习是一个广阔的领域。有几种方法来实现机器学习技术,但是最常用的是监督和无监督学习。 - 监督学习 ... 阅读全文
posted @ 2018-08-27 20:39 大道至简(老徐) 阅读(752) 评论(0) 推荐(0) 编辑
摘要: ## 07、Spark集群的进程管理 ### 7.1 概述 Spark standalone集群模式涉及master和worker两个守护进程。master进程是管理节点,worker进程是工作节点。spark提供了很多方便启动或停止进程的脚本,风格和hadoop相似。 ### 7.2 启动脚本 ```shell #启动所有spark进程包括master和worker,该命令在maste节... 阅读全文
posted @ 2018-08-27 20:38 大道至简(老徐) 阅读(842) 评论(0) 推荐(0) 编辑
摘要: ## Java中的字符集### 1、字符集概述字符集是各国家文字与字符编码对照表。字符可以看成是计算机中展示的图案效果,每个字符集都对每一种图案进行编码,有着一对一的对应关系。因此进行字符输出时,都需要指定使用哪一种字符集作为参考。不同字符集使用不同的字节数和范围来存储相应的字符。常用字符集有ascii、gb2312、gbk、iso8859-1、utf-8、unicode、big5等。### 2、... 阅读全文
posted @ 2018-08-27 20:37 大道至简(老徐) 阅读(1583) 评论(0) 推荐(0) 编辑
摘要: ## 时间复杂度 ### 1、时间频度 时间复杂度通常是衡量算法的优劣的,衡量算法的时间严格来讲是很难衡量的,由于不同的机器性能不用环境都会造成不同的执行时间。算法的执行时间和语句的执行次数成正比,因此通过计算执行测试来推断执行时间。算法中语句执行次数称为语句频度或时间频度,记为T(n),n是问题的规模,T是Time,即时间频度。 ### 2、时间复杂度 n不断变化时,T(n)也在不断变化,为... 阅读全文
posted @ 2018-08-27 20:36 大道至简(老徐) 阅读(1369) 评论(0) 推荐(0) 编辑
摘要: ## Hive建模### 1、介绍Hive作为数据仓库,同关系型数据库开发过程类似,都需要先进行建模,所谓建模,就是对表之间指定关系方式。建模在hive中大致分为星型、雪花型和星座型。要对建模深入理解,首先需要对hive数仓中的集中表概念进行界定。hive中的表从形态上分内部表、外部表、桶表、分区表。在数据逻辑上划分为维度表和事实表。维度表等价于我们常说的字典表。事实表就是字典表之外的数据表。##... 阅读全文
posted @ 2018-08-27 20:34 大道至简(老徐) 阅读(4213) 评论(0) 推荐(0) 编辑
摘要: ## 08、Spark常用RDD变换 ### 8.1 概述 Spark RDD内部提供了很多变换操作,可以使用对数据的各种处理。同时,针对KV类型的操作,对应的方法封装在PairRDDFunctions trait中,KV类的RDD可以被隐式转换成PairRDDFunctions类型。其中很多的操作,和传统的SQL语句中的操作是对应的,只是底层换成Spark的MR计算。 ### 8.2 常用... 阅读全文
posted @ 2018-08-27 18:27 大道至简(老徐) 阅读(526) 评论(0) 推荐(0) 编辑
摘要: ## 06、部署Spark程序到集群上运行 ### 6.1 修改程序代码 1. 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址。所以需要修改代码中文件加载路径为hdfs路径: ```scala ... //指定hdfs路径 sc.textFile("hdfs://mycluster... 阅读全文
posted @ 2018-08-27 18:26 大道至简(老徐) 阅读(350) 评论(0) 推荐(0) 编辑
摘要: ## 05、Spark shell连接到Spark集群执行作业 ### 5.1 Spark shell连接到Spark集群介绍 Spark shell可以连接到Spark集群,spark shell本身也是spark的一个应用,是和Spark集群的一种交互方式。每次action动作的执行,都会对应一个job。 ### 5.2 连接方式指定 ```shell #进入Spark bin目录 $... 阅读全文
posted @ 2018-08-27 18:25 大道至简(老徐) 阅读(304) 评论(0) 推荐(0) 编辑
摘要: ## 04、Spark Standalone集群搭建 ### 4.1 集群概述 独立模式是Spark集群模式之一,需要在多台节点上安装spark软件包,并分别启动master节点和worker节点。master节点是管理节点,负责和各worker节点通信,完成worker的注册与注销。worker节点是任务执行节点,通过worker节点孵化出执行器子进程来执行任务。 ### 4.2 集群规划... 阅读全文
posted @ 2018-08-27 18:24 大道至简(老徐) 阅读(869) 评论(0) 推荐(0) 编辑
摘要: ## 02、体验Spark shell下RDD编程 ### 1、Spark RDD介绍 RDD是Resilient Distributed Dataset,中文翻译是弹性分布式数据集。该类是Spark是核心类成员之一,是贯穿Spark编程的始终。初期阶段,我们可以把RDD看成是Java中的集合就可以了,在后面的章节中会详细讲解RDD的内部结构和工作原理。 ### 2、Spark-shell下... 阅读全文
posted @ 2018-08-27 18:23 大道至简(老徐) 阅读(499) 评论(0) 推荐(0) 编辑