08 2018 档案
摘要:## 自定义日期时间函数### 1、介绍日期是在统计过程期间经常涉及的一个维度,但计算有偏复杂。
阅读全文
摘要:## 博客园-博文自动发布工具### 1、介绍该工具内置自动将本地的markdown文件通过metaWebBlog协议上传到博客园(也可以是其他支持该协议的博客网站),并内置图床功能,省去编写博文时上传图片的麻烦。该工具配合typora markdown编写工具是最佳组合。实时预览与数学公式及希腊字母表的完美组合,是大数据学习过程间的学习利器。该工具截图如下:#### 2.1 启动pysp...
阅读全文
摘要:## Markdown快速上手指南### 1、Markdown介绍markdown可以实现快速html文档编辑,格式优没,并且不需要使用html元素。 markdown采用普通文本的形式,例如读书笔记等易于使用的文本格式进行编写。 如果实在需要生成markdown不支持的html元素的话,可以直接在文本中嵌入html标签,markdown并不会将其显式出来。 ### 2、标题标签markdo...
阅读全文
摘要:## 项目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...
阅读全文
摘要:## 日志滚动与cron调度### 1、日志滚动nginx默认日志不能进行滚动,始终写入到一个文件中,即access.log。编写日志滚动的shell脚本,并使用linux的cron定时调度周期性进行日志文件滚动。#### 1.1 编写滚动脚本1. 创建roll_log.sh脚本文件 以root身份在/usr/local/bin/创建umeng_roll_log.sh文件 ```shell...
阅读全文
摘要:## 项目01-nginx模块### 1、nginx介绍nginx是一款高性能web服务器和反向代理服务器,在互联网项目中使用非常频繁,尤其其出色的性能以及轻量级进程占用,已经超过了apache的httpd服务器的使用量。内部可以配置零拷贝实现快速文件传输。### 2、openrestyopenresty是将nginx现有一些重要插件做了集成,省去安装nginx之后还需要在安装插件的繁琐步骤,内置...
阅读全文
摘要:## Spark机器学习### 1、介绍MLlib是spark机器学习库,目标是让机器学习易用使用并具有伸缩性。在更高层面上,提供如下工具:- ML算法 常用算法,比如分类、回归、聚类和协同过滤。- 特征 特征抽取,特征变换、降维以及选择。- 管线 构造、计算以及调优管线的工具。- 持久化 保存、加载算法、模型和管线。- 工具 线性代数、统计学、数据处理等等。### 2、基础概念- ve...
阅读全文
摘要:## 项目01-手机端模块### 1、项目描述### 2、术语说明- App 手机应用程序- App开发商 开发App的企业和个人- 用户 安装了App的人员。- 数据服务商 提供数据服务的企业。- 数据服务平台 数据服务商的产品。- 租户 租用了数据服务商的App开发商- 云版 数据服务商部署自己的数据服务平台到云中。- 企业版 数据服务商出售数据服...
阅读全文
摘要:## Spark内存管理### 1、介绍spark内存管理不是通过物理或者硬件底层API实现对内存资源探测,只是通过对内存操作过程期间的字节量的变化不断更新维护的数字,通过该方式跟踪内存使用情况。spark对每个task都关联了内存的使用量,存放在了map中。严格意义上讲,spark内存的管理是估算量,不是精确量。spark的内存管理主要针对的堆内内存,和离堆非堆无关。### 2、Spark内存结...
阅读全文
摘要:## Spark Streaming### 1、介绍Spark Streaming是Spark core API的扩展,针对实时数据流计算,具有可伸缩性、高吞吐量、自动容错机制的特点。数据源可以来自于多种方式,例如kafka、flume等等。使用类似于RDD的高级算子进行复杂计算,像map、reduce、join和window等等。最后,处理的数据推送到数据库、文件系统或者仪表盘等。也可以对流计算...
阅读全文
摘要:## Spark SQL### 1、介绍 Spark SQL是构建在Spark core模块之上的四大模块之一,提供DataFrame等丰富API,可以采用传统的SQL语句进行数学计算。运行期间,会通过Spark查询优化器翻译成物理执行计划,并行计算后输出结果。底层计算原理仍然采用RDD计算实现。### 2、Spark与Hive集成1. 在spark配置目录下创建指向hive-site.xml文件...
阅读全文
摘要:## Spark Job调度### 1、概览Spark有几种用于在计算之间调度资源的工具。首先,回想一下,如[集群模式概述中所述](http://spark.apache.org/docs/latest/cluster-overview.html),每个Spark应用程序(SparkContext的实例)都运行一组独立的executor进程。Spark运行的集群管理器提供了跨应用程序的调度工具。其...
阅读全文
摘要:## Spark master节点HA配置### 1、介绍Spark HA配置需要借助于Zookeeper实现,因此需要先搭建ZooKeeper集群。### 2、配置#### 2.1 修改所有节点的spark-evn.sh文件在spark-env.sh文件添加如下环境变量:```properties#需要将该条目注释掉#export SPARK_MASTER_IP=master1 #导入expor...
阅读全文
摘要:## 机器学习 ### 1、介绍 机器学习是科学的一个分支,涉及编程系统,他们会自动学习和改进的经验。在这里,学习意味着认识和理解输入的数据。根据所提供的数据,并作出明智的决定。这些算法从特定的数据和过去的经验,统计,概率论,逻辑,组合优化,搜索,强化学习和控制理论的原则,建立知识。机器学习是一个广阔的领域。有几种方法来实现机器学习技术,但是最常用的是监督和无监督学习。 - 监督学习 ...
阅读全文
摘要:## 07、Spark集群的进程管理 ### 7.1 概述 Spark standalone集群模式涉及master和worker两个守护进程。master进程是管理节点,worker进程是工作节点。spark提供了很多方便启动或停止进程的脚本,风格和hadoop相似。 ### 7.2 启动脚本 ```shell
#启动所有spark进程包括master和worker,该命令在maste节...
阅读全文
摘要:## Java中的字符集### 1、字符集概述字符集是各国家文字与字符编码对照表。字符可以看成是计算机中展示的图案效果,每个字符集都对每一种图案进行编码,有着一对一的对应关系。因此进行字符输出时,都需要指定使用哪一种字符集作为参考。不同字符集使用不同的字节数和范围来存储相应的字符。常用字符集有ascii、gb2312、gbk、iso8859-1、utf-8、unicode、big5等。### 2、...
阅读全文
摘要:## 时间复杂度 ### 1、时间频度 时间复杂度通常是衡量算法的优劣的,衡量算法的时间严格来讲是很难衡量的,由于不同的机器性能不用环境都会造成不同的执行时间。算法的执行时间和语句的执行次数成正比,因此通过计算执行测试来推断执行时间。算法中语句执行次数称为语句频度或时间频度,记为T(n),n是问题的规模,T是Time,即时间频度。 ### 2、时间复杂度 n不断变化时,T(n)也在不断变化,为...
阅读全文
摘要:## Hive建模### 1、介绍Hive作为数据仓库,同关系型数据库开发过程类似,都需要先进行建模,所谓建模,就是对表之间指定关系方式。建模在hive中大致分为星型、雪花型和星座型。要对建模深入理解,首先需要对hive数仓中的集中表概念进行界定。hive中的表从形态上分内部表、外部表、桶表、分区表。在数据逻辑上划分为维度表和事实表。维度表等价于我们常说的字典表。事实表就是字典表之外的数据表。##...
阅读全文
摘要:## 08、Spark常用RDD变换 ### 8.1 概述 Spark RDD内部提供了很多变换操作,可以使用对数据的各种处理。同时,针对KV类型的操作,对应的方法封装在PairRDDFunctions trait中,KV类的RDD可以被隐式转换成PairRDDFunctions类型。其中很多的操作,和传统的SQL语句中的操作是对应的,只是底层换成Spark的MR计算。 ### 8.2 常用...
阅读全文
摘要:## 06、部署Spark程序到集群上运行 ### 6.1 修改程序代码 1. 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址。所以需要修改代码中文件加载路径为hdfs路径: ```scala ... //指定hdfs路径 sc.textFile("hdfs://mycluster...
阅读全文
摘要:## 05、Spark shell连接到Spark集群执行作业 ### 5.1 Spark shell连接到Spark集群介绍 Spark shell可以连接到Spark集群,spark shell本身也是spark的一个应用,是和Spark集群的一种交互方式。每次action动作的执行,都会对应一个job。 ### 5.2 连接方式指定 ```shell
#进入Spark bin目录
$...
阅读全文
摘要:## 04、Spark Standalone集群搭建 ### 4.1 集群概述 独立模式是Spark集群模式之一,需要在多台节点上安装spark软件包,并分别启动master节点和worker节点。master节点是管理节点,负责和各worker节点通信,完成worker的注册与注销。worker节点是任务执行节点,通过worker节点孵化出执行器子进程来执行任务。 ### 4.2 集群规划...
阅读全文
摘要:## 03、IDEA下Spark API编程 ### 3.1 编程实现Word Count #### 3.1.1 创建Scala模块 #### 3.1.2 添加maven支持,并引入spark依赖 ```xml 4.0.0 com.oldboy myspark 1.0-SNAPSHOT org.apache.spark spa...
阅读全文
摘要:## 02、体验Spark shell下RDD编程 ### 1、Spark RDD介绍 RDD是Resilient Distributed Dataset,中文翻译是弹性分布式数据集。该类是Spark是核心类成员之一,是贯穿Spark编程的始终。初期阶段,我们可以把RDD看成是Java中的集合就可以了,在后面的章节中会详细讲解RDD的内部结构和工作原理。 ### 2、Spark-shell下...
阅读全文
摘要:## 01、Spark安装与配置 ### 1、hadoop回顾
Hadoop是分布式计算引擎,含有四大模块,common、hdfs、mapreduce和yarn。 ### 2、并发和并行 并发通常指针对单个节点的应对多个请求的能力,是单一节点上计算能力的衡量,并行通常针对集群来讲,是利用多个节点进行分布式协同作业,我们称之为并行计算。 ### 3、Spark
快如闪电集群计算引擎,应用于大...
阅读全文
摘要:## Redis### 1、介绍Redis是NoSQL中的一种,使用Key-value类型存储数据,基于内存的具有高性能数据库,可以定制持久化到磁盘的策略。支持的类型丰富多样,例如list、set、hash、zset等。读操作速度可达110,000/s,写入速度可达80,000/s。### 2、Redis安装#### 2.1 windows1. 解压redis-2.2.2-win32-win64....
阅读全文
摘要:## 01、Scala介绍与安装 ### 1.1 Scala介绍
Scala是对java语言脚本化,特点是就是使不具备脚本化的java语言能够采用脚本化方式来使用,使其具有脚本语言简单、所见即所得的特点,并且编程效率高,实现速度快等特点。在大数据领域中,Spark和Kafka这些著名的框架都是采用scala语言编写,但由于Scala的语法比较诡异,所以最开始接触scala的人会有些不适应,但是熟...
阅读全文
摘要:## 推荐系统### 1、概要推荐系统时使用广泛的技术之一,尤其在电商领域中,使用非常频繁。推荐系统涉及多种专业术语和算法。### 2、数据说明#### 2.1 用户列表所有用户构成的集合,主要是用户id。 例如电影推荐中的所有观影人users.dat数据:```reactuid::性别::年龄::职业::邮编----------------------1::F::1::10::480672::M...
阅读全文
摘要:## Socket编程### 1、介绍python支持socket编程,可以使用TCP和UDP协议。同java中的socket编程相类似。### 2、tcp协议#### 2.1 服务器端服务器端绑定到指定地址,监听特定的端口,接受发来的连接请求。```python# -*-coding:utf-8-*-import socketimport threading#接收者线程class RecvThr...
阅读全文
摘要:## MySQL访问### 1、介绍python访问mysql数据库,需要安装mysql的python插件。### 2、安装插件通过pip命令安装mysql插件。```python#cmd>pip install PyMySQL```### 3、编写访问代码访问本地数据库时,注意不能用**localhost**,需要使用127.0.0.1。### 3.1 查询```python# -*-codin...
阅读全文
摘要:## 多线程### 1、低级API使用```python#-*-coding:utf-8-*-import threadimport time#函数def sayhello(name,age): print "%s,%d"%(name,age)#try - catchtry: thread.start_new_thread(sayhello, ("tom", 12))except Ex...
阅读全文
摘要:## Python基础### 1、hello world字符串单双引号即可,'''或"""三引号也可以,通常用于多行文档原生输出。```python#双引号>>>print "hello world"#单引号>>>print 'hello world'#方法调用>>>print('hello world')>>>print("hello world")#,号结尾不换行打印>>>pr
阅读全文
摘要:## Python面向对象### 1、class定义```python#定义类class Emp: pass```### 2、静态变量```pythonclass Emp: #静态变量,通过类直接访问 id = 100 #__开头的是私有属性 __age = 20#通过类直接访问print Emp.id```### 3、构造函数和实例方法#### 3.1 构造函数...
阅读全文
摘要:## Python ### 1、 python介绍 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 ### 2、 python特点
1. 易于学习 Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简...
阅读全文
摘要:## 05、Win7上openSSH的安装与配置### 1、概述linux上的ssh命令在网络通信场景下非常方便。现在windows也支持ssh方式和远程主机进行访问。如果只是使用ssh简单的访问功能,就需要很多文章说的还需要安装cygwin之类的软件。但是有一些注意事项需要谨记。### 2、安装#### 2.1 下载安装openSSH for windows软件包选择64位版本,OpenSSH...
阅读全文
摘要:## 关于java中的hashcode和equals方法原理 ### 1、介绍 java编程思想和很多资料都会对自定义javabean要求必须重写hashcode和equals方法,但并没有清晰给出为何重写此两个方法,至少不是非常的明确。 首先要确定的一件事是并不是“必须”,估计跟中英文语言习惯有关。hashcode方法只有在和hash类型的集合(比如HashMap和HashSet)配合使用...
阅读全文
摘要:## JVM ### 1、JVM Runtime data area,运行时数据区。包含5个区域,分别为method area、heap、java stack、native method stack、program counter register。 图示如下: ,如果主机或进程不可用时,整个集群就变得不可用,直到namenode进行重启或产生新的namenode。主要有两种方式会影响到HDFS集群:- 不可预期事件比如机器宕机,集群变得不可用直到操作人员重启namenode。- ...
阅读全文
摘要:### 1、HDFS分布式文件系统 1. 分布式存储 2. 分布式计算 ### 2、hadoop hadoop含有四个模块,分别是 common、 hdfs和yarn。 1. common 公共模块。 2. HDFS hadoop distributed file system,hadoop分布式文件系统,负责文件的存储管理。HDFS包括Namenode进程、DataNode...
阅读全文

浙公网安备 33010602011771号