大数据生态系统技术
文章平均质量分 73
大数据时代。Hadoop是实现大数据的一种技术
汤高
喜欢开源的框架技术、乐于研究其底层源码,把个人从学习到工作中用到的所有技术梳理总结,也分享给所有爱学习新技术的朋友们,相互交流,一起进步
展开
-
数据挖掘算法之贝叶斯网络
贝叶斯网络序:上上周末写完上篇朴素贝叶斯分类后,连着上了七天班,而且有四天都是晚上九点下班,一直没有多少时间学习贝叶斯网络,所以更新慢了点,利用清明节两天假期,花了大概七八个小时,写了这篇博客,下面讲的例子有一个是上一篇朴素贝叶斯讲过的,还有其他的都是出自贝叶斯网络引论中。我会以通俗易懂的方式写出来,不会讲得很复杂,会介绍贝叶斯网络的绝大部分知识点,看完会让你对于贝叶斯网络有个大概的了原创 2017-04-04 19:06:17 · 22586 阅读 · 13 评论 -
数据挖掘算法之深入朴素贝叶斯分类
写在前面的话: 我现在大四,毕业设计是做一个基于大数据的用户画像研究分析。所以开始学习数据挖掘的相关技术。这是我学习的一个新技术领域,学习难度比我以往学过的所有技术都难。虽然现在在一家公司实习,但是工作还是挺忙的,经常要加班,无论工作多忙,还是决定要写一个专栏,这个专栏就写一些数据挖掘算法、数据结构、算法设计和分析的相关文章。通过写博文来督促自己不断学习。以前对于数学没有多大的兴趣爱好,从小原创 2017-03-26 22:04:44 · 17249 阅读 · 11 评论 -
Storm UI详解
Storm ui 展示字段说明Storm ui 首页主要分为4块: Cluster Summary,Topology summary,Supervisor summary,Nimbus Configuration,如下图所示: Cluster SummaryVersion: storm 版本号Nimbus uptime: nimbus 运行时转载 2016-12-02 09:34:11 · 20985 阅读 · 2 评论 -
搭建storm集群
搭建storm集群系统centos71、安装Java jdk 1.72、安装zookeeper 3.4.83、安装Python2.7X4、安装storm0.95、安装git6、安装maven所有安装包,等会我会打包上传,地址会放到最后,大家需要可以下载1、安装jdk很简单下载jdk压缩包解压压缩包 ,我的安装目录是/software原创 2016-08-28 22:58:41 · 3176 阅读 · 2 评论 -
Python快速学习第十二天--生成器和协程
yield指令,可以暂停一个函数并返回中间结果。使用该指令的函数将保存执行环境,并且在必要时恢复。生成器比迭代器更加强大也更加复杂,需要花点功夫好好理解贯通。看下面一段代码:[python] view plain copydef gen(): for x in xrange(4): tmp转载 2016-08-21 23:14:24 · 1425 阅读 · 2 评论 -
Python快速学习第十一天--Python多线程
Python中使用线程有三种方式:方法一:函数式调用thread模块中的start_new_thread()函数来产生新线程。语法如下:thread.start_new_thread ( function, args[, kwargs] )参数说明:function - 线程函数。args - 传递给线程函数的参数,他必须是个tuple类型。kwar原创 2016-08-21 16:33:34 · 1666 阅读 · 2 评论 -
Python快速学习第十天
11.1 打开文件open函数用来打开文件,语法如下:open(name[, mode[, buffering]])open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象。模式(mode)和缓冲(buffering)参数都是可选的,我会在后面的内容中对它们进行解释。因此,假设有一个名为somefile.txt的文本文件(可能是用文本编辑器创建的),其转载 2016-08-20 11:15:00 · 2194 阅读 · 1 评论 -
strom之Worker、executor、task详解
Storm在集群上运行一个Topology时,主要通过以下3个实体来完成Topology的执行工作:1. Worker(进程)2. Executor(线程)3. Task下图简要描述了这3者之间的关系:上图和下面这张图一样看看官网的对这部分的讲解Example of a running topologyThe following illust原创 2016-08-19 15:57:02 · 2985 阅读 · 1 评论 -
Python快速学习第九天--安装并操作Mysql数据库
python操作mysql数据库Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:GadFlymSQLMySQLPostgreSQLMicrosoft SQL Server 2000InformixIn原创 2016-08-18 10:19:20 · 2672 阅读 · 1 评论 -
Python快速学习第八天
本文内容全部出自《Python基础教程》第二版10.1 模块现在你已经知道如何创建和执行自己的程序(或脚本)了,也学会了怎么用import从外部模块获取函数并且为自己的程序所用:>>> import math>>> math.sin(0)0.0让我们来看看怎样编写自己的模块。 10.1.1 模块是程序任何Python程序都可以作为转载 2016-08-17 15:49:10 · 3038 阅读 · 1 评论 -
Python快速学习第七天
本文内容全部出自《Python基础教程》第二版在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别。前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字。在Python中,由这些名字组成的集合所包含的方法称为魔法(或特殊)方法。如果对象实现了这些方法中的某一个,那么这个方法会在特转载 2016-08-16 14:52:10 · 2911 阅读 · 1 评论 -
Python快速学习第六天
第六天:面向对象 1. 面向对象的特点——多态,封装,继承 对象:包括特性和方法,特性只是作为对象的一部分变量,而方法则是存储在对象内的函数。(1)多态——对不同类的对象,使用同样操作。不知道对象到底是什么类型,但又要对对象做一些操作 很多内置的函数和运算符都是多态的 不用关注x到底是什么类型,都可以使用count函数,另外还有repr(),连接符+等原创 2016-08-15 14:30:59 · 2088 阅读 · 1 评论 -
Python快速学习第五天
第五天:抽象1、 函数检测函数是否可调用:callable>>> import math>>> y=math.sqrt>>> callable(y)True>>> x=1>>> callable(x)False 注意:Python3.0不在支持callable,需要使用表达式hasattr(func,_call_call_)代替 创原创 2016-08-14 22:21:31 · 2403 阅读 · 3 评论 -
Python快速学习第四天
第四天:条件 、循环和其他语句1、 print使用逗号输出 - 打印多个表达式也是可行的,但要用逗号隔开>>> print 'tanggao ',20tanggao 20>>> 1,2,3(1, 2, 3)>>> print 1,2,31 2 3>>> print(1,2,3)(1, 2, 3) 注意:python3.0以后,pr原创 2016-08-14 11:18:34 · 1720 阅读 · 2 评论 -
Python快速学习第三天
第三天:字典什么是字典?字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。字典类型与序列类型的区别:1.存取和访问数据的方式不同。2.序列类型只用数字类型的键(从序列的开始按原创 2016-08-13 13:33:23 · 1253 阅读 · 1 评论 -
Python快速学习第二天
第二天 字符串的使用1、字符串格式化 a) %s格式化为字符串 >>> format ="Hello, %s. %s enough for ya?">>> values =('world', 'Hot') >>> print format %valuesHello, world. Hot enough fory原创 2016-08-12 17:17:17 · 28515 阅读 · 1 评论 -
Python快速学习第一天
第一天:Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言 一、运行Python:1、 在交互式环境下,直接输入Python进入Python编程环境 [root@tanggao/]# pythonPython2.7.5 (default, Jun 17 2014, 18:11:42) [GCC4.8.2 20140120 (Red Hat原创 2016-08-12 10:21:05 · 2495 阅读 · 2 评论 -
storm一致性事务
Storm是一个分布式的流处理系统,利用anchor和ack机制保证所有tuple都被成功处理。如果tuple出错,则可以被重传,但是如何保证出错的tuple只被处理一次呢?Storm提供了一套事务性组件Transaction Topology,用来解决这个问题。Transactional Topology目前已经不再维护,由Trident来实现事务性topology,但是原理相同。转载 2016-07-23 23:43:04 · 4524 阅读 · 1 评论 -
storm的数据流组
数据流组设计一个拓扑时,你要做的最重要的事情之一就是定义如何在各组件之间交换数据(数据流是如何被bolts消费的)。一个数据流组指定了每个bolt会消费哪些数据流,以及如何消费它们。NOTE:一个节点能够发布一个以上的数据流,一个数据流组允许我们选择接收哪个。数据流组在定义拓扑时设置··· builder.setBolt("word-normalizer",转载 2016-07-23 16:04:22 · 3341 阅读 · 1 评论 -
strom架构和构建Topology
一、Storm基本概念在运行一个Storm任务之前,需要了解一些概念:TopologiesStreamsSpoutsBoltsStream groupingsReliabilityTasksWorkersConfiguration 架构:在Storm的集群里面有两种节点: 控制节点(master node)和工作节点(w转载 2016-07-23 15:22:15 · 7817 阅读 · 5 评论 -
storm概述
1.Storm是什么,应用场景有哪些? 2.Storm有什么特点? 3.spout发出的消息后续可能会触发产生成千上万条消息,Storm如何跟踪这条消息树的? 4.Storm本地模式的作用是什么?一、实时流计算互联网从诞生的第一时间起,对世界的最大的改变就是让信息能够实时交互,从而大大加速了各个环节的效率。正因为大家对转载 2016-07-23 14:58:32 · 1139 阅读 · 0 评论 -
storm消息机制
这章讨论Storm's reliability capabilities, 如何保证从spout emit出来的所有tuple都被正确的执行(fully processed)? What does it mean for a message to be "fully processed"? 首先的问题是, 什么叫tuple或message被fully processed转载 2016-07-23 11:42:17 · 3130 阅读 · 0 评论 -
kafka自学之路--zookeeper中存储结构
1.topic注册信息/brokers/topics/[topic] :存储某个topic的partitions所有分配信息Schema:{ "version": "版本编号目前固定为数字1", "partitions": { "partitionId编号": [ 同步副本组brok转载 2016-07-18 16:33:06 · 3438 阅读 · 0 评论 -
kafka学习之路(三)——高级
设计原理kafka的设计初衷是希望作为一个统一的信息收集平台,能够实时的收集反馈信息,并需要能够支撑较大的数据量,且具备良好的容错能力.持久性kafka使用文件存储消息,这就直接决定kafka在性能上严重依赖文件系统的本身特性.且无论任何OS下,对文件系统本身的优化几乎没有可能.文件缓存/直接内存映射等是常用的手段.因为kafka是对日志文件进行append操作,因此磁盘检索的开支是较小的;同时为...原创 2016-07-17 21:34:43 · 8537 阅读 · 0 评论 -
kafka学习之路(二)——提高
kafka学习之路(二)——提高消息发送流程因为Kafka内在就是分布式的,一个Kafka集群通常包括多个代理。为了均衡负载,将话题分成多个分区,每个代理存储一或多个分区。多个生产者和消费者能够同时生产和获取消息。 过程:1.Producer根据指定的partition方法(round-robin、hash等),将消息发布到指定topic的partition里面2.kafka集群接收到Produ...原创 2016-07-17 14:59:26 · 11628 阅读 · 3 评论 -
kafka学习之路(一)——入门
kafka学习之路(一)——入门Kafka学习之路...一、入门..1、 简介2、 主题(Topics)、日志(Logs)3、 分布式(Distribution)4、 生产者(Producers)5、 消费者(Consumers) 一、入门1、简介Kafka 是linkedin 公司用于日志处理的分布式消息队列,同时支持离线和在线日志处理。kafk...原创 2016-07-16 23:32:26 · 20275 阅读 · 6 评论 -
KafKa(0.10)安装部署和测试
Step 1: 下载代码http://kafka.apache.org/downloads.html0.10.0.0是最新版本。 当前的稳定版本是0.10.0.0。下载0.10.0.0版本并且解压它。> tar -zxvf kafka_2.10-0.10.0.0.tgz > cd kafka_2.11-0.10.0.0Step 2: 启动服务运行kafka需要使用原创 2016-06-25 14:14:51 · 11150 阅读 · 0 评论 -
自定义分区、数据类型、排序、分组
自定义分区、数据类型、排序、分组/** * * @author 自定义数据类型 键对象 * */public class KeyPair implements WritableComparable<KeyPair> { private int year; private double hot; public int getYear() { ret原创 2016-06-15 10:40:50 · 1071 阅读 · 0 评论 -
Shuffle过程详解
Shuffle过程详解 Shuffle过程是MapReduce的核心,最近看了很多资料,网上说法大体相同,但有些地方有一点点出入,就是各个阶段的执行顺序总个shuffle过程可以看做是从map输出到reduce输入的这个中间过程,在这个中间过程中,经过了一系列的步骤 下面看看官方给出的图 Map端下面是我画的一张图 1.In原创 2016-06-15 10:30:31 · 12815 阅读 · 2 评论 -
Spark实时流计算Java案例
现在,网上基于spark的代码基本上都是Scala,很多书上也都是基于Scala,没办法,谁叫spark是Scala写出来的了,但是我现在还没系统的学习Scala,所以只能用java写spark程序了,spark支持java,而且Scala也基于JVM,不说了,直接上代码这是官网上给出的例子,大数据学习中经典案例单词计数 在linux下一个终端 输入 $ nc -lk 9999 然后运行下面的代码原创 2016-06-07 21:20:07 · 16423 阅读 · 1 评论 -
Spark(1.6.1) Sql 编程指南+实战案例分析
Spark SQL是Spark的一个模块,用于结构化数据处理。它提供了一个编程的抽象被称为DataFrames,也可以作为分布式SQL查询引擎。概述(Overview)Spark SQL是Spark的一个模块,用于结构化数据处理。它提供了一个编程的抽象被称为DataFrames,也可以作为分布式SQL查询引擎。开始Spark SQLSpark SQL中所有功能的入口点是SQLContext类,或者它子类中的一个。为了创建一个基本的SQLCont原创 2016-06-06 14:12:20 · 13141 阅读 · 3 评论 -
Spark 算子
RDD算子分类,大致可以分为两类,即:Transformation:转换算子,这类转换并不触发提交作业,完成作业中间过程处理。Action:行动算子,这类算子会触发SparkContext提交Job作业。一:Transformation:转换算子1.map map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD。任何原RDD中的元素在新RDD中都有且只有一个元素与之对应。举例:原创 2016-06-03 22:07:35 · 10436 阅读 · 0 评论 -
Java接入Spark之创建RDD的两种方式和操作RDD
Java接入Spark之创建RDD的两种方式和操作RDD原创 2016-06-02 21:49:20 · 46261 阅读 · 1 评论 -
30分钟--Spark快速入门指南
Spark快速入门指南 – Spark安装与基础使用 2016-01-15 (updated: 2016-03-07) 6309 29Apache Spark 是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。Spark 正如其名,最大的特点就是快(Lightning-fast),可比 Hadoop MapReduce 的处理速度快 100 倍。此外,Spark 提供了简单易用的转载 2016-06-01 17:05:56 · 17976 阅读 · 3 评论 -
Spark安装
我的安装版本是spark-1.6.1-bin-hadoop2.6.tgz 这个版本必须要求jdk1.7或者1.7以上安装spark必须要scala-2.11 版本支撑 我安装的是scala-2.11.8.tgz tg@master:/software$ tar -zxvf scala-2.11.8.tgz tg@master:/sof原创 2016-05-31 17:30:36 · 8523 阅读 · 0 评论 -
25分钟掌握Hive基本操作
15分钟掌握Hive基本操作 (1)、从本地文件系统中导入数据到Hive表;(2)、从HDFS上导入数据到Hive表;(3)、从别的表中查询出相应的数据并导入到Hive表中;(4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。 一、从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下: 1hive> cr原创 2016-05-29 16:33:24 · 9579 阅读 · 2 评论 -
Hive与HBase实现数据互导
Hive与HBase实现数据互导建立与HBase的识别表hive> create table hive_hbase_1(key int,value string) > stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' > WITH SERDEPROPERTIES ("hbase.columns.ma原创 2016-05-29 16:30:32 · 18978 阅读 · 0 评论 -
Hive2.0.0操作HBase 1.2.1报错解决
org.apache.hive.service.cli.HiveSQLException: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: hadoop is not allowed to impersonate hive at or原创 2016-05-28 22:03:56 · 1840 阅读 · 0 评论 -
Hadoop整合Hive之API封装及操作
首先看依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven原创 2016-05-27 20:34:59 · 6268 阅读 · 0 评论 -
Hive安装配置详解
Hive安装配置详解1. 安装MySQL sudo apt-get install mysql-server mysql-client 1). 建立数据库hive,create database hive; 2). 创建用户hivecreate user 'hive'@'%' identified by 'hive'; 3).创建hive用户,并原创 2016-05-21 20:20:50 · 1615 阅读 · 0 评论