开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

从源码角度看Spark on yarn client & cluster模式的本质区别

首先区分下AppMaster和Driver,任何一个yarn上运行的任务都必须有一个AppMaster,而任何一个Spark任务都会有一个Driver,Driver就是运行SparkContext(它会构建TaskScheduler和DAGScheduler)的进程,当然在Driver上你也可以做很多非Spark的事情,这些事情只会在Driver上面执行,而由SparkContext上牵引出来的代码则会由DAGScheduler分析,并形成Job和Stage交由TaskScheduler,再由TaskScheduler交由各Executor分布式执行。 所以Driver和AppMaster是两个完全不同的东西,Driver是控制Spark计算和任务资源的,而AppMaster是控制yarn app运行和任务资源的,只不过在Spark on Yarn上,这两者就出现了交叉,而在standalone模式下,资源则由Driver管理。在Spark on Yarn上,Driver会和AppMaster通信,资源的申请由AppMaster来完成,而任务的调度和执行则由Driver完成,Driver会通过与AppMaster通信来让Executor的执行具体的任务。 # client与cluster的区别 对于yarn-client和yarn-cluster的唯一区别在于,yarn-client的Driver运行在本地,而AppMaster运行在yarn的一个节点上,他们之间进行远程通信,AppMaster只负责资源申请和释放(当然还有DelegationToken的刷新),然后等待Drive...
问津已非少年 发布于 6天前 阅读 86

Kafka集群安装

Kafka是由LinkedIn开发的一个分布式的消息系统,提供了类似于JMS的特性,用于解决大数据消息生产者和消费者之间的消息传输
大大的微笑 发布于 1周前 阅读 254

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

你想了解的Hive Query生命周期--钩子函数篇!

一个Hive SQL语句的执行需要经历哪些阶段? 在这些阶段中,我们可以做哪些事来影响它? Hive为我们提供了很多的钩子函数,我们可以怎样利用它为Hive实现扩展?
问津已非少年 发布于 1个月前 阅读 757 评论 2 点赞 2

用随机森林分类算法进行Iris 数据分类训练,是怎样的体验?

MLlib是Spark的机器学习(ML)库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模。 MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。 MLllib目前分为两个代码包:spark.mllib 包含基于RDD的原始算法API。 spark.ml ,提供了基于DataFrames高层次的API,可以用来构建机器学习管道,FEA-spk技术的机器学习就是基于spark.ml 包。 spark.ml 包,是基于DataFrame的,未来将成为Spark机器学习的主要API。它可以在分布式集群上进行大规模的机器学习模型训练,并且可以对数据进行可视化。 一、随机森林分类算法的介绍 随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入时,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对应分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。 使用Spark MLlib随机森林算法存在不足,需要改进! 具体来讲,使用Spark MLlib进行模型的训练,需要进行大量的数据转化,列聚合为向量等。非常麻烦,并且不...
openfea 发布于 2个月前 阅读 299 评论 2

Apache Ignite核心特性介绍(2.1.0版)

本文大体上提供了一个Apache Ignite的完整功能一览表,读者可以总体上了解Ignite都包含了哪些功能。
李玉珏 发布于 2个月前 阅读 442 评论 14 点赞 2

Spark Graphx 实现图中极大团挖掘, 伪并行化算法

####背景:#### 1. spark graphx并未提供极大团挖掘算法 2. 当下的极大团算法都是串行化的算法,基于[Bron–Kerbosch](https://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm)算法 ####思路:#### 1. spark graphx提供了连通图的算法,连通图和极大团都是无向图中的概念,极大团为连通图的子集 2. 利用spark graphx 找出连通图,在从各个连通图中,利用串行化的极大团算法,找出极大团 (伪并行化) 3. 对于关联性较强的图,找出来的连通图非常大,这时串行化的极大团算法,仍然会耗时很久,这里利用剪枝的思想减少样本数据量,但是对于大图,优化空间有限 4. 期待真正的并行化的极大团算法 ---------- ####配置文件:#### graph_data_path=hdfs://localhost/graph_data out_path=hdfs://localhost/clique ck_path=hdfs://localhost/checkpoint numIter=50 剪枝次数 count=3 极大团顶点数大小 algorithm=2 极大团算法,1:个人实现 2:jgrapht percent=90 剪枝后的顶点数,占前一次的百分比,如果剪完后,还剩下90%的数据,那么剪枝效率已然不高 spark.master=local spark.app.name=graph spark.serializer=org.apache.spark.serializer.KryoSerializer spark.yarn.executor.memoryOverhe...
ktlb 发布于 2个月前 阅读 221 评论 1

OpenCV图像哈希计算及汉明距离的计算

OpenCV均值哈希与感知哈希计算,对比图像相似度
美丽世界的孤儿 发布于 2个月前 阅读 517 评论 1 点赞 1

从信息熵的角度来理解机器学习要优化的目标

  摘要:机器学习任务中最核心的工作是对构造合适的损失函数,并对其进行优化,得到最终的模型。那么如何来构造损失函数,常用的构造函数背后有哪些理论的支撑,本篇文章从熵的角度来解析,希望对对读者起到抛装引玉的作用。 一、 基础概念 信息量 对于离散概率,定义p_i的信息量为 可以理解为需要查找多少次可以找到对应的离散值,比如概率0.125,对应的信息量是3,也就是说需要至少折半查找3次才能找到对应的离散取值。 信息熵(Information entropy) 衡量信息的不确定性(对于人来说),熵越小,信息就越确定。通俗的说,可以从几个方面来描述,比如人判断一件事情时有把握的程度、信息压缩编码时最小需要的位数。简单的说,熵反应了信息量。定义如下 交叉熵(Cross Information entropy) 如果一件事情的不确定性为0,那么信息熵也为0,所以信息熵可以理解为消除事件不确定性所要付出的代价,而实际当中很难采用最真实的概率分布来对事件进行判断,而是采用一种接近真实的概率分布,比如q来拟合真实的场景,将q带入信息熵的公式就可以得出交叉熵的定义 交叉熵所代表的含义是,采用非真实概率分布q下,要消除事件的不确定性所付出的代价,通常情况下,交叉熵要比信息熵大...
saintqdd 发布于 2个月前 阅读 380 点赞 3

Spark外文博客翻译(节选)

作者:Kumar Chinnakali 译者:java达人 来源:http://dataottam.com/2016/01/10/self-learn-yourself-apache-spark-in-21-blogs-3/ ### 一、 Spark项目最初由加州大学伯克利分校AMP实验室的Matei在2009年发起,并在2010年根据BSD协议开源。2013年,该项目捐献给Apache软件基金会,转为Apache2.0 协议。2014年二月,Spark成为Apache重点项目。2014年11月,Databricks的工程团队通过使用Spark,在大规模分类领域刷新了世界纪录。 而Apache Spark的最新版本是1.6,具有许多新特性(译者:目前是2.2.0)。 Spark系统背后的许多思想都从各种研究论文中孕育产生的。 ![](http://dataottam.com/wp-content/uploads/2016/01/Apache-Spark-History.png "") 那么Spark如何与Hadoop关联,Spark是与Hadoop数据兼容的快速通用处理引擎,可以通过YARN或Spark的独立模式在Hadoop集群中运行。 它可以处理HDFS,HBase,Cassandra,Hive及任何Hadoop 输入格式的数据。 它旨在执行类似于MapReduce的批处理和其他新的工作任务,如流处理,交互式查询和机器学习。 但是在Apache Spark之前,我们如何解决大数据问题,使用了哪些工具。 我们必须使用20多种工具在生产环境部署大数据应用程序。 ![...
萝卜坑坑 发布于 2个月前 阅读 324

SparkStreaming与Kafka整合遇到的问题及解决方案

工作中sparkstreaming与kafka整合会遇到一些坑,再次记录分享给大家
winstone 发布于 3个月前 阅读 338 点赞 1

HBase Shell操作命令

HBase单机配置(官网): HBase下载http://www.apache.org/dyn/closer.cgi/hbase/ 解压缩,然后进入到那个要解压的目录. $ tar xfz hbase-××××.tar.gz $ cd hbase-××××× 现在你已经可以启动HBase了。但是你可能需要先编辑 conf/hbase-site.xml 去配置hbase.rootdir,来选择HBase将数据写到哪个目录 . <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.rootdir</name> <value>file:///DIRECTORY/hbase</value> </property> </configuration> 将 DIRECTORY 替换成你期望写文件的目录. 默认 hbase.rootdir 是指向 /tmp/hbase-${user.name} ,也就说你会在重启后丢失数据(重启的时候操作系统会清理/tmp目录)   1.创建表 同其它数据库一样,hbase也有表的概念。 hbase(main):001:0> create 'test','cf' 0 row(s) in 1.5210 seconds => Hbase::Table - test 这张表的表名叫做test , 有一个列族叫做cf (注意shell中所有的名字都必须用引号引起来,和传统数据库不同的是,HBASE的表不用定义有哪些列(字段,Column),因为列是可以动态增加和删除的。但Hbase表需要定义...
南寻 发布于 3个月前 阅读 420 评论 2 点赞 1 打赏 1

Solr Date类型的哪些你不得不了解的细节

你真了解Solr时间日期类型吗?你是不是觉得Solr的日期类型很不好用,不怎么配置都是`UTC`时区,不管输入还是输出都是UTC时区;每次都要写一个很冗长的时间日期。你是不是想需要搜索一小时、一天、一月甚至一年的数据,不可用写那么长长时间上下限呢。本文将一同解决上所提的所有问题。
大明搜索 发布于 3个月前 阅读 236 点赞 1

手把手教你 Spark 性能调优

0、背景 上周四接到反馈,集群部分 spark 任务执行很慢,且经常出错,参数改来改去怎么都无法优化其性能和解决频繁随机报错的问题。 看了下任务的历史运行情况,平均时间 3h 左右,而且极其不稳定,偶尔还会报错: 1、优化思路 任务的运行时间跟什么有关? (1)数据源大小差异     在有限的计算下,job的运行时长和数据量大小正相关,在本例中,数据量大小基本稳定,可以排除是日志量级波动导致的问题: (2)代码本身逻辑缺陷     比如代码里重复创建、初始化变量、环境、RDD资源等,随意持久化数据等,大量使用 shuffle 算子等,比如reduceByKey、join等算子。     在这份100行的代码里,一共有 3 次 shuffle 操作,任务被 spark driver 切分成了 4 个 stage 串行执行,代码位置如下: 咱们需要做的就是从算法和业务角度尽可能减少 shuffle 和 stage,提升并行计算性能,这块是个大的话题,本次不展开详述。 (3)参数设置不合理 这块技巧相对通用,咱们来看看之前的核心参数设置: num-executors=10 || 20 ,executor-cores=1 || 2, executor-memory= 10 || 20,driver-memory=20,spark.default.parallelism=64 假设咱们的 spark 队列资源情况如下: memory=1...
xrzs 发布于 3个月前 阅读 3712 评论 1 点赞 2

Solr查询语言 JSON Request API

JSON Request API是一套优雅高效查询语法,尤其在搜索统计方面带全新的体验,既简洁又漂亮。绝对是一次非常美好的体验。
大明搜索 发布于 3个月前 阅读 443 点赞 1

【干货】Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件

    在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA、ResourceManager HA之后(详见我的另一篇博文:Apache Hadoop 2.8分布式集群详细搭建过程),接下来将搭建最新稳定版的Apache Hive 2.1.1,方便日常在自己电脑上测试hive配置和作业,同样的配置也可以应用于服务器上。以下是Apache Hive 2.1.1的安装配置详细过程 1、阅读Apache Hive官网说明文档,下载最新版本Hive        Hive是一个基于Hadoop的数据仓库工具,将HDFS中的结构化数据映射为数据表,并实现将类SQL脚本转换为MapReduce作业,从而实现用户只需像传统关系型数据库提供SQL语句,并能实现对Hadoop数据的分析和处理,门槛低,非常适合传统的基于关系型数据库的数据分析向基于Hadoop的分析进行转变。因此,Hive是Hadoop生态圈非常重要的一个工具。        安装配置Apache Hive,最直接的方式,便是阅读 Apache Hive官网的说明文档,能了解到很多有用的信息。Apache Hive 要求JDK 1.7及以上,Hadoop 2.x(从Hive 2.0.0开始便不再支持Hadoop 1.x),Hive 可部署于Linux、Mac、Windows环境。        从官网下载最新稳定版本的 Apache Hive 2.1.1 2、安装配置Apache Hi...
雪饼 发布于 3个月前 阅读 1853 评论 2 点赞 2

Solr搜索统计 JSON Faceting API

如果你一直用在Solr,并打算使用Solr来做一些统计分析的话,接下来的内容你会非常感兴&...
大明搜索 发布于 3个月前 阅读 229 点赞 2

【干货】Apache Hadoop 2.8 完全分布式集群搭建超详细过程,实现NameNode HA、ResourceManager HA高可靠性

最近在自己的笔记本电脑上搭建了Apache Hadoop分布式集群,采用了最新的稳定版本2.8,并配置了NameNode、ResourceManager的HA高可用,方便日常对Hadoop的研究与测试工作。详细的搭建过程如下: 1、安装docker,创建docker容器,用于搭建hadoop节点 docker真是个好东西啊,当要在自己的笔记本上搭建分布式集群时,由于CPU、内存、磁盘有限,无法在VMware上虚拟出太多节点,这时使用docker创建几个容器,就能轻松搭建一个分布式集群了。 (1)先在VMware上安装centos6.9,作为宿主机,然后安装docker,具体过程见我另一篇博文:Centos6.9安装docker (2)然后再docker hub中拉取centos镜像,用于创建分布式集群的节点,推荐在docker中安装centos6(docker中的centos7有坑,被坑过,呜呜),具体过程见我另一篇博文:docker中安装centos6 (3)centos镜像准备好后,就开始创建docker容器,用于搭建hadoop的节点 # 创建4个节点,用于搭建hadoop docker run -it --name hadoopcentos1 centos:6 /bin/bash docker run -it --name hadoopcentos2 centos:6 /bin/bash docker run -it --name hadoopcentos3 centos:6 /bin/bash docker run -it --name hadoopcentos4 centos:6 /bin/b...
雪饼 发布于 3个月前 阅读 3696 评论 20 点赞 5

Spark Streaming 之 consumer offsets 保存到 Zookeeper 以实现数据零丢失

Spark Direct Streaming 将 consumer offsets 保存到 Zookeeper 以实现数据零丢失
太古神王 发布于 3个月前 阅读 17

大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk

本文就架构,功能,产品线,概念等方面就ElasticSearch和Splunk做了一下全方位的对比,希望能够大家在制定大数据搜索方案的时候有所帮助。 简介 ElasticSearch (1)(2)是一个基于Lucene的开源搜索服务。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 ELK是ElasticSearch,Logstash,Kibana的缩写,分别提供搜索,数据接入和可视化功能,构成了Elastic的应用栈。 Splunk 是大数据领域第一家在纳斯达克上市公司,Splunk提供一个机器数据的引擎。使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备(物理、虚拟和云中)生成的快速移动型计算机数据 。从一个位置搜索并分析所有实时和历史数据。 使用 Splunk 处理计算机数据,可让您在几分钟内(而不是几个小时或几天)解决问题和调查安全事件。监视您的端对端基础结构,避免服务性能降低或中断。以较低成本满足合规性要求。关联并分析跨越多个系统的复杂事件。获取新层次的运营可见性以及 IT 和业务智能。 根据最新...
naughty 发布于 3个月前 阅读 2028 评论 2 点赞 3 打赏 1

ElasticHD: ElasticSearch DashBoard GO Application

ElasticHD ----------- [![Build Status](https://travis-ci.org/farmerx/ElasticHD.svg?branch=master)](https://travis-ci.org/farmerx/ElasticHD) [![Go Documentation](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://godoc.org/github.com/farmerx/ElasticHD/main) [![Go Report Card](https://goreportcard.com/badge/github.com/Luxurioust/aurora)](https://goreportcard.com/report/github.com/farmerx/elasticHD/main) [![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/farmerx/elasticHD/blob/master/LICENSE) [![Release](https://img.shields.io/github/release/elasticHD/elasticHD.svg?label=Release)](https://github.com/farmerx/elasticHD/releases) [![GitHub issues](https://img.shields.io/github/issues/farmerx/ElasticHD.svg)](https://github.com/farmerx/ElasticHD/issues) > ElasticHD 是一款 ElasticSearch的可视化应用。不依赖ES的插件安装,更便捷;导航栏直接填写对应的ES IP和端口就可以操作Es了。目前支持如下功能: * ES Real ti...
farmerx 发布于 3个月前 阅读 307 评论 6

证书制作方法

http://javaxt.com/tutorials/windows/how_to_enable_ldaps_in_active_directory 写得实在太详细了。 准备一个申请文件,如下: ;----------------- request.inf ----------------- [Version] Signature="$Windows NT$" [NewRequest] Subject = "CN=dc1.acme.com,OU=IT,DC=dc1,DC=acme,DC=com,O=ACME,L=New York,S=New York,C=US" ; KeySpec = 1 KeyLength = 1024 Exportable = TRUE MachineKeySet = TRUE SMIME = False PrivateKeyArchive = FALSE UserProtected = FALSE UseExistingKeySet = FALSE ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType = 12 RequestType = PKCS10 KeyUsage = 0xa0 [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1 ; this is for Server Authentication windows下执行:certreq -new request.inf acme.csr  生成证书申请文件。 linux下执行:openssl x509 -req -days 3650 -in acme.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out acme.crt ,签发证书 windows下执行:certreq -accept acme.crt AD里导入证书...
pearma 发布于 2个月前 阅读 9

ActiveMQ几个重要的配置文件

这里对activemq中几个重要的配置文件的配置做一个介绍,以便后续有用到时再来翻看,寻找记忆以免忘记
大大的微笑 发布于 18小时前 阅读 18

numpy模块

numpy.array()   生成np array 对象,显示和列表一致,区别:可使用矩阵运算(加减乘除),结果为矩阵。也可以使用boolean值生成对象,序列对象所有的值类型必须一致。 numpy.array(object).shape   获取维度属性 numpy.array(object)[:,0] 2d array 取第一列 numpy.array(object)[0,:] 2d array 取第一行 numpy.mean()      平均数 numpy.median()  中位数 numpy.std()     标准差 numpy.corrcoef(np_array1,np_array2)   相关系数
ricardohn 发布于 11小时前 阅读 17

HBase 1.2.6 完全分布式集群安装部署详细过程

Apache HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,是NoSQL数据库,基于Google Bigtable思想的开源实现,可在廉价的PC Server上搭建大规模结构化存储集群,利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase海量数据,使用Zookeeper协调服务器集群。Apache HBase官网有详细的介绍文档。 Apache HBase的完全分布式集群安装部署并不复杂,下面是部署的详细过程: 1、规划HBase集群节点 本实验有4个节点,要配置HBase Master、Master-backup、RegionServer,节点主机操作系统为Centos 6.9,各节点的进程规划如下: 主机 IP 节点进程 hd1 172.17.0.1 Master、Zookeeper hd2 172.17.0.2 Master-backup、RegionServer、Zookeeper hd3 172.17.0.3 RegionServer、Zookeeper hd4 172.17.0.4 RegionServer 2、安装 JDK、Zookeeper、Hadoop 各服务器节点关闭防火墙、设置selinux为disabled 安装 JDK、Zookeeper、Apache Hadoop 分布式集群(具体过程详见我另一篇博文:Apache Hadoop 2.8分布式集群搭建超详细过程) 安装后设置环境变量,这些变量在安装配置HBase时需要用到 export JAVA_HOME=/usr/java/jdk1.8.0_131 export CLASSPATH=.:$JA...
雪饼 发布于 3个月前 阅读 313

php连接kafka

安装kafka yum -y install java-1.8.0-openjdk.i686 java-1.8.0-openjdk-devel.i686 wget http://apache.mirror.gtcomm.net/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz tar -xzvf kafka_2.11-0.11.0.0.tgz cd kafka_2.11-0.11.0.0/bin #启动zookeeper ./zookeeper-server-start.sh ../config/zookeeper.properties & #启动kafka ./kafka-server-start.sh ../config/server.properties & ps -ef | grep kafka 创建一个叫"test1234"的topic,它只有一个分区,一个副本: ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test1234 可以用list查看创建的topic,当前创建了4个topic ./kafka-topics.sh --list --zookeeper localhost:2181 发送消息。运行producer并在控制台中输一些消息,这些消息将被发送到服务端 ./kafka-console-producer.sh --broker-list localhost:9092 --topic test1234 开启consumer,可以读取到刚才发出的消息并输出。 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test1234 --from-beginning   安装可视化kafka管理工具 curl https://bintray.com/sbt/r...
jiangwu 发布于 3个月前 阅读 94

Apache Spark 2.2.0 中文文档 - Structured Streaming 编程指南 | ApacheCN

Structured Streaming 编程指南 概述 快速示例 Programming Model (编程模型) 基本概念 处理 Event-time 和延迟数据 容错语义 API 使用 Datasets 和 DataFrames 创建 streaming DataFrames 和 streaming Datasets Input Sources (输入源) streaming DataFrames/Datasets 的模式接口和分区 streaming DataFrames/Datasets 上的操作 基础操作 - Selection, Projection, Aggregation Window Operations on Event Time (事件时间窗口操作) 处理 Late Data (迟到数据)和 Watermarking (水印) Join 操作 Streaming Deduplication (Streaming 去重) Arbitrary Stateful Operations (任意有状态的操作) 不支持的操作 开始 Streaming Queries Output Modes (输出模式) Output Sinks (输出接收器) 使用 Foreach 管理 Streaming Queries 监控 Streaming Queries Interactive APIs Asynchronous API Recovering from Failures with Checkpointing (从检查点恢复故障) 从这里去哪儿 概述 Structured Streaming (结构化流)是一种基于 Spark SQL 引擎构建的可扩展且容错的 stream processing engine (流处理引擎)。您可以以静态数据表示批量计算的方式来表达 stre...
片刻 发布于 17小时前 阅读 5

统计基础

  note   均值 中位数 众数 极差 方差 标准差 图形 直方图,箱线图,茎叶图,线图,柱形图,饼图  
pandudu 发布于 1天前 阅读 5 评论 1

【干货】Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件

    在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA、ResourceManager HA之后(详见我的另一篇博文:Apache Hadoop 2.8分布式集群详细搭建过程),接下来将搭建最新稳定版的Apache Hive 2.1.1,方便日常在自己电脑上测试hive配置和作业,同样的配置也可以应用于服务器上。以下是Apache Hive 2.1.1的安装配置详细过程 1、阅读Apache Hive官网说明文档,下载最新版本Hive        Hive是一个基于Hadoop的数据仓库工具,将HDFS中的结构化数据映射为数据表,并实现将类SQL脚本转换为MapReduce作业,从而实现用户只需像传统关系型数据库提供SQL语句,并能实现对Hadoop数据的分析和处理,门槛低,非常适合传统的基于关系型数据库的数据分析向基于Hadoop的分析进行转变。因此,Hive是Hadoop生态圈非常重要的一个工具。        安装配置Apache Hive,最直接的方式,便是阅读 Apache Hive官网的说明文档,能了解到很多有用的信息。Apache Hive 要求JDK 1.7及以上,Hadoop 2.x(从Hive 2.0.0开始便不再支持Hadoop 1.x),Hive 可部署于Linux、Mac、Windows环境。        从官网下载最新稳定版本的 Apache Hive 2.1.1 2、安装配置Apache Hi...
雪饼 发布于 3个月前 阅读 1853 评论 2 点赞 2

Druid原理架构

简介 Druid是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级以内对十亿行级别的表进行任意的探索分析。一个开源的、分布式、列存储、实时分析的数据存储。 特性 亚秒级查询:druid提供了快速的聚合能力以及亚秒级的OLAP查询能力,多租户的设计,是面向用户分析应用的理想方式 实时数据注入:druid支持流数据的注入,并提供了数据的事件驱动,保证在实时和离线环境下事件的实效性和统一性,也可以通过mapreduce离线注入数据 可扩展的PB级存储:druid集群可以很方便的扩容到PB的数据量,每秒百万级别的数据注入。即便在加大数据规模的情况下,也能保证时其效性 多环境部署:druid既可以运行在商业的硬件上,也可以运行在云上。它可以从多种数据系统中注入数据,包括hadoop,spark,kafka,storm和samza等 适用场景 第一:适用于清洗好的记录实时录入,但不需要更新操作 第二:支持宽表,不用join的方式(换句话说就是一张单表) 第三:可以总结出基础的统计指标,可以用一个字段表示 第四:对时区和时间维度(year、month、week、day、hour等)要求高的(...
张欢19933 发布于 2个月前 阅读 28

从源码角度看Spark on yarn client & cluster模式的本质区别

首先区分下AppMaster和Driver,任何一个yarn上运行的任务都必须有一个AppMaster,而任何一个Spark任务都会有一个Driver,Driver就是运行SparkContext(它会构建TaskScheduler和DAGScheduler)的进程,当然在Driver上你也可以做很多非Spark的事情,这些事情只会在Driver上面执行,而由SparkContext上牵引出来的代码则会由DAGScheduler分析,并形成Job和Stage交由TaskScheduler,再由TaskScheduler交由各Executor分布式执行。 所以Driver和AppMaster是两个完全不同的东西,Driver是控制Spark计算和任务资源的,而AppMaster是控制yarn app运行和任务资源的,只不过在Spark on Yarn上,这两者就出现了交叉,而在standalone模式下,资源则由Driver管理。在Spark on Yarn上,Driver会和AppMaster通信,资源的申请由AppMaster来完成,而任务的调度和执行则由Driver完成,Driver会通过与AppMaster通信来让Executor的执行具体的任务。 # client与cluster的区别 对于yarn-client和yarn-cluster的唯一区别在于,yarn-client的Driver运行在本地,而AppMaster运行在yarn的一个节点上,他们之间进行远程通信,AppMaster只负责资源申请和释放(当然还有DelegationToken的刷新),然后等待Drive...
问津已非少年 发布于 6天前 阅读 86

Apache Ignite核心特性介绍(2.1.0版)

本文大体上提供了一个Apache Ignite的完整功能一览表,读者可以总体上了解Ignite都包含了哪些功能。
李玉珏 发布于 2个月前 阅读 442 评论 14 点赞 2

TF-IDF与余弦相似性的应用:自动提取关键词

摘自: http://www.ruanyifeng.com/blog/2013/03/tf-idf.html     我们用搜索引起进行搜索时,得到的结果通常会根据相关性排序,关性高的结果显示在前面。那么,相关性是如何计算呢?   这里介绍一个简单而又经典的算法:TF-IDF。   举个例子:假定现在有一篇长文《中国的蜜蜂养殖》,我们准备用计算机提取它的关键词。   一个容易想到的思路,就是找到出现次数最多的词。如果某个词很重要,它应该在这篇文章中多次出现。于是,我们进行"词频"(Term Frequency,缩写为TF)统计。   结果你肯定猜到了,出现次数最多的词是----"的"、"是"、"在"----这一类最常用的词。它们叫做"停用词"(stop words),表示对找到结果毫无帮助、必须过滤掉的词。   假设我们把它们都过滤掉了,只考虑剩下的有实际意义的词。这样又会遇到了另一个问题,我们可能发现"中国"、"蜜蜂"、"养殖"这三个词的出现次数一样多。这是不是意味着,作为关键词,它们的重要性是一样的?   显然不是这样。因为"中国"是很常见的词,相对而言,"蜜蜂"和"养殖"不那么常见。如果这三个词在一篇文章的出现次数一样多,有理由认为,"蜜蜂"和"养殖"的重要程度要大于"中国",也就是说,在关键词排序上面,"蜜蜂"...
StanleySun 发布于 1天前 阅读 6

Intel BIGDL 探索

如何安装和使用BigDL
pearma 发布于 20小时前 阅读 3

Spark Graphx 实现图中极大团挖掘, 伪并行化算法

####背景:#### 1. spark graphx并未提供极大团挖掘算法 2. 当下的极大团算法都是串行化的算法,基于[Bron–Kerbosch](https://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm)算法 ####思路:#### 1. spark graphx提供了连通图的算法,连通图和极大团都是无向图中的概念,极大团为连通图的子集 2. 利用spark graphx 找出连通图,在从各个连通图中,利用串行化的极大团算法,找出极大团 (伪并行化) 3. 对于关联性较强的图,找出来的连通图非常大,这时串行化的极大团算法,仍然会耗时很久,这里利用剪枝的思想减少样本数据量,但是对于大图,优化空间有限 4. 期待真正的并行化的极大团算法 ---------- ####配置文件:#### graph_data_path=hdfs://localhost/graph_data out_path=hdfs://localhost/clique ck_path=hdfs://localhost/checkpoint numIter=50 剪枝次数 count=3 极大团顶点数大小 algorithm=2 极大团算法,1:个人实现 2:jgrapht percent=90 剪枝后的顶点数,占前一次的百分比,如果剪完后,还剩下90%的数据,那么剪枝效率已然不高 spark.master=local spark.app.name=graph spark.serializer=org.apache.spark.serializer.KryoSerializer spark.yarn.executor.memoryOverhe...
ktlb 发布于 2个月前 阅读 221 评论 1

实时日志分析平台搭建笔记(二)

    接上一篇。ES采用两台服务器的集群,创建一个indices,名称为access-log,jstorm和spark处理后的日志写入其中。 注意:创建完access-log后,在写入数据前,需要运行以下命令,"time"为时间字段,"vulType"为_type curl -XPUT '192.168.32.32:9200/access-log?pretty' -H 'Content-Type: application/json' -d' { "mappings": { "vulType": { "properties": { "time": { "type": "date", "format": "date_time_no_millis" } } } } } ' 伪造一些日志,可以在kibana中看到jstorm执行后的结果 以上是jstorm实时检测的流程。还有一路是spark通过MR分析多条日志,进行统计规则的检测。 spark首先去hbase中读取数据,随后进行Map/Reduce,统计出触发风险规则的日志。例如测试统计三分钟内访问次数超过10次的IP。 获取hbase中的accesslog public List<String> getTableByDate(String startRow,String endRow){ Scan s = new Scan(); List<String> logList = new ArrayList<String>(); s.setStartRow(Bytes.toBytes(startRow)); s.setStopRow(Bytes.toBytes(endRow)); try { ResultScanner resul...
季牧云 发布于 3个月前 阅读 43

用随机森林分类算法进行Iris 数据分类训练,是怎样的体验?

MLlib是Spark的机器学习(ML)库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模。 MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。 MLllib目前分为两个代码包:spark.mllib 包含基于RDD的原始算法API。 spark.ml ,提供了基于DataFrames高层次的API,可以用来构建机器学习管道,FEA-spk技术的机器学习就是基于spark.ml 包。 spark.ml 包,是基于DataFrame的,未来将成为Spark机器学习的主要API。它可以在分布式集群上进行大规模的机器学习模型训练,并且可以对数据进行可视化。 一、随机森林分类算法的介绍 随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入时,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对应分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。 使用Spark MLlib随机森林算法存在不足,需要改进! 具体来讲,使用Spark MLlib进行模型的训练,需要进行大量的数据转化,列聚合为向量等。非常麻烦,并且不...
openfea 发布于 2个月前 阅读 299 评论 2

elasticsearch5.x安装及使用elasticsearch-head 5.x

1.安装elasticsearch-head https://github.com/mobz/elasticsearch-head git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install npm run start open http://localhost:9100/ 由于elasticsearch-head5.x只有作为一个独立的版本运行,所以访问elasticsearch的时候会出现跨域的问题 2.设置elasticsearch的配置文件 修改elasticsearch的跨域问题,打开elasticsearch.yml,在文件的最后添加 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-methods: GET, POST, PUT, DELETE, OPTIONS http.cors.allow-headers: "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With" 3.重启elasticsearch 运行结果如图...
楠木楠 发布于 3个月前 阅读 47

pandas 对列进行替换值和删除列 设置Series的dtype 统计Series 里面数值类型和个数

def preprocess2(): """ 数据预处理 :return: """ data = pd.read_csv('./dataset/preprocess_1', delimiter=',', header=None , names=['licheng', 'youxi', 'bingbang', 'xihuang']) print(data.describe()) tmpa = data['xihuang'] # 统计种类 a = tmpa.value_counts(dropna=False) xihuangmaping = {"didntLike": 1, "smallDoses ": 2, "largeDoses": 3, 'smallDoses': 0} data['xihuang'] = data['xihuang'].map(xihuangmaping) data['xihuang'] = data['xihuang'].astype(np.int16) data['xihuang'] = data['xihuang'].astype(np.int16) data.to_csv('./dataset/preprocess_2', index=None)...
marjey 发布于 1个月前 阅读 30

10小时入门大数据

http://coding.imooc.com/class/128.html#Anchor 10小时入门大数据 时下引领着技术变革的非“大数据”莫属,本课程带你从0基础开始上手,让你全面掌握Hadoop开发的核心技能:HDFS 、YARN 、MapReduce的搭建及框架的应用,了解最火爆最前沿的大数据技术发展趋势,快速入门大数据! 第1章 大数据概述 本章将从几则故事说起,让大家明白大数据是与我们的生活息息相关的,并不是遥不可及的,还会介绍大数据的特性,以及大数据对我们带来的技术变革,大数据处理过程中涉及到的技术 第2章 初识Hadoop 本章节将带领大家认识Hadoop以及Hadoop生态系统、Hadoop的发展史、Hadoop的优缺点、Hadoop的三个核心组件、Hadoop发行版的选择以及Hadoop在企业中的案例分享,为后续深入讲解Hadoop打下坚实的基础 第3章 分布式文件系统HDFS 本章将从Hadoop的设计目标、架构及副本的脚本带大家详细剖析,快速搭建单节点伪分布式HDFS的实验环境,并讲解使用hdfs shell以及Java API的方式操作HDFS文件系统,并详细分析HDFS文件的读写流程,使得大家对Hadoop分布式文件系统HDFS有深刻的认识以及使用… 第4章 分布式资源调度YARN 本章将从YARN的产生背景、YARN的架构及执行流程的角度带大家认知Hadoo...
wusejason 发布于 18小时前 阅读 2

一千个不用 Null 的理由

港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。 下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而不是NULL,除非特殊情况。但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑或者云里雾里。本文今天就详细的剖析下使用 Null 的原因,并给出一些不用 Null 的理由。 1、NULL 为什么这么多人用? NULL是创建数据表时默认的,初级或不知情的或怕麻烦的程序员不会注意这点。 很多人员都以为not null 需要更多空间,其实这不是重点。 重点是很多程序员觉得NULL在开发中不用去判断插入数据,写sql语句的时候更方便快捷。 2、是不是以讹传讹? MySQL 官网文档: NULL columns require additional space in the rowto record whether their values are NULL. For MyISAM tables, each NULL columntakes one bit extra, rounded up to the nearest byte. Mysql难以优化引用可空列查询,它会使索引、...
xrzs 发布于 3个月前 阅读 2531 点赞 1

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

Kafka集群安装

Kafka是由LinkedIn开发的一个分布式的消息系统,提供了类似于JMS的特性,用于解决大数据消息生产者和消费者之间的消息传输
大大的微笑 发布于 1周前 阅读 254

【干货】Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件

    在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA、ResourceManager HA之后(详见我的另一篇博文:Apache Hadoop 2.8分布式集群详细搭建过程),接下来将搭建最新稳定版的Apache Hive 2.1.1,方便日常在自己电脑上测试hive配置和作业,同样的配置也可以应用于服务器上。以下是Apache Hive 2.1.1的安装配置详细过程 1、阅读Apache Hive官网说明文档,下载最新版本Hive        Hive是一个基于Hadoop的数据仓库工具,将HDFS中的结构化数据映射为数据表,并实现将类SQL脚本转换为MapReduce作业,从而实现用户只需像传统关系型数据库提供SQL语句,并能实现对Hadoop数据的分析和处理,门槛低,非常适合传统的基于关系型数据库的数据分析向基于Hadoop的分析进行转变。因此,Hive是Hadoop生态圈非常重要的一个工具。        安装配置Apache Hive,最直接的方式,便是阅读 Apache Hive官网的说明文档,能了解到很多有用的信息。Apache Hive 要求JDK 1.7及以上,Hadoop 2.x(从Hive 2.0.0开始便不再支持Hadoop 1.x),Hive 可部署于Linux、Mac、Windows环境。        从官网下载最新稳定版本的 Apache Hive 2.1.1 2、安装配置Apache Hi...
雪饼 发布于 3个月前 阅读 1853 评论 2 点赞 2

ActiveMQ几个重要的配置文件

这里对activemq中几个重要的配置文件的配置做一个介绍,以便后续有用到时再来翻看,寻找记忆以免忘记
大大的微笑 发布于 18小时前 阅读 18

numpy模块

numpy.array()   生成np array 对象,显示和列表一致,区别:可使用矩阵运算(加减乘除),结果为矩阵。也可以使用boolean值生成对象,序列对象所有的值类型必须一致。 numpy.array(object).shape   获取维度属性 numpy.array(object)[:,0] 2d array 取第一列 numpy.array(object)[0,:] 2d array 取第一行 numpy.mean()      平均数 numpy.median()  中位数 numpy.std()     标准差 numpy.corrcoef(np_array1,np_array2)   相关系数
ricardohn 发布于 11小时前 阅读 17

手把手教你 Spark 性能调优

0、背景 上周四接到反馈,集群部分 spark 任务执行很慢,且经常出错,参数改来改去怎么都无法优化其性能和解决频繁随机报错的问题。 看了下任务的历史运行情况,平均时间 3h 左右,而且极其不稳定,偶尔还会报错: 1、优化思路 任务的运行时间跟什么有关? (1)数据源大小差异     在有限的计算下,job的运行时长和数据量大小正相关,在本例中,数据量大小基本稳定,可以排除是日志量级波动导致的问题: (2)代码本身逻辑缺陷     比如代码里重复创建、初始化变量、环境、RDD资源等,随意持久化数据等,大量使用 shuffle 算子等,比如reduceByKey、join等算子。     在这份100行的代码里,一共有 3 次 shuffle 操作,任务被 spark driver 切分成了 4 个 stage 串行执行,代码位置如下: 咱们需要做的就是从算法和业务角度尽可能减少 shuffle 和 stage,提升并行计算性能,这块是个大的话题,本次不展开详述。 (3)参数设置不合理 这块技巧相对通用,咱们来看看之前的核心参数设置: num-executors=10 || 20 ,executor-cores=1 || 2, executor-memory= 10 || 20,driver-memory=20,spark.default.parallelism=64 假设咱们的 spark 队列资源情况如下: memory=1...
xrzs 发布于 3个月前 阅读 3712 评论 1 点赞 2

更新solr的schema.xml带的问题

多值存储,后修改为不存储,此时对同一个ID的多值字段PVersion执行原子操作add,理论上应该在原有的多个值后面添加上当前值,然后实际上,是当前值把修改schema.xml之前的值给覆盖了,PVersion当前只有一个刚插入的值。从存储改为不存储,同样执行原子操作add,实际上也是覆盖了之前的值,而不是追加。 从这里可以多出,schema.xml中配置的字段拥有的属性不能随便改变,一旦改变,如果之前已有的值,即使执行原子操作也会被覆盖,会带来很大的影响,所有在修改schema.xml时,添加字段时,字段属性要确定好,已经添加过的字段,其属性没必要一定不要修改。
爱运动的小乌龟 发布于 3天前 阅读 14

hbase region in transition

Region-In-Trasition机制 从字面意思来看,Region-In-Transition说的是Region变迁机制,实际上是指在一次特定操作行为中Region状态的变迁,那这里就涉及这么几个问题:Region存在多少种状态?HBase有哪些操作会触发Region状态变迁?一次正常操作过程中Region状态变迁的完整流程是怎么样的?如果Region状态在变迁的过程中出现异常又会怎么样? Region存在多少种状态?有哪些操作会触发状态变迁? HBase在RegionState类中定义了Region的主要状态,主要有如下: 上图中实际上定义了四种会触发Region状态变迁的操作以及操作对应的Region状态。其中特定操作行为通常包括assign、unassign、split以及merge等,而很多其他操作都可以拆成unassign和assign,比如move操作实际上是先unassign再assign; Region状态迁移是如何发生的? 这个过程有点类似于状态机,也是通过事件驱动的。和Region状态一样,HBase还定义了很多事件(具体见EventType类)。此处以unassign过程为例说明事件是如何驱动状态变迁的,见下图: 上图所示是Region在close时的状态变迁图,其中红字部分就是发生的各种事件。可见,如果发生M_ZK_REGION_CLOSING事件,Region就会从OPEN状态迁移到PENDING_CLOSE状态,而...
张欢19933 发布于 3个月前 阅读 31

storm 1.0以后的新版本 滑动窗口的实现及原理

简单的演示如何使用storm1.0实现滑动窗口的功能,先编写spout类,RandomSentenceSpout负责发送一个整形数值,数值每次发送都会自动加一,且RandomSentenceSpout固定每隔两秒向bolt发送一次数据。RandomSentenceSpout和前面关于spout的讲解一样。 1.public class RandomSentenceSpout extends BaseRichSpout { 2. 3. private static final long serialVersionUID = 5028304756439810609L; 4. 5. private SpoutOutputCollector collector; 6. 7. int intsmaze=0; 8. 9. public void declareOutputFields(OutputFieldsDeclarer declarer) { 10. declarer.declare(new Fields("intsmaze")); 11. } 12. 13. public void open(Map conf, TopologyContext context, 14. SpoutOutputCollector collector) { 15. this.collector = collector; 16. } 17. 18. public void nextTuple() { 19. System.out.println("发送数据:"+intsmaze); 20. collector.emit(new Values(intsmaze++)); 21. try { 22. Thread.sleep(2000); 23.// Thread.sleep(1000); 24. } catch...
世吉 发布于 3周前 阅读 13

HBase 1.2.6 完全分布式集群安装部署详细过程

Apache HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,是NoSQL数据库,基于Google Bigtable思想的开源实现,可在廉价的PC Server上搭建大规模结构化存储集群,利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase海量数据,使用Zookeeper协调服务器集群。Apache HBase官网有详细的介绍文档。 Apache HBase的完全分布式集群安装部署并不复杂,下面是部署的详细过程: 1、规划HBase集群节点 本实验有4个节点,要配置HBase Master、Master-backup、RegionServer,节点主机操作系统为Centos 6.9,各节点的进程规划如下: 主机 IP 节点进程 hd1 172.17.0.1 Master、Zookeeper hd2 172.17.0.2 Master-backup、RegionServer、Zookeeper hd3 172.17.0.3 RegionServer、Zookeeper hd4 172.17.0.4 RegionServer 2、安装 JDK、Zookeeper、Hadoop 各服务器节点关闭防火墙、设置selinux为disabled 安装 JDK、Zookeeper、Apache Hadoop 分布式集群(具体过程详见我另一篇博文:Apache Hadoop 2.8分布式集群搭建超详细过程) 安装后设置环境变量,这些变量在安装配置HBase时需要用到 export JAVA_HOME=/usr/java/jdk1.8.0_131 export CLASSPATH=.:$JA...
雪饼 发布于 3个月前 阅读 313

从源码角度看Spark on yarn client & cluster模式的本质区别

首先区分下AppMaster和Driver,任何一个yarn上运行的任务都必须有一个AppMaster,而任何一个Spark任务都会有一个Driver,Driver就是运行SparkContext(它会构建TaskScheduler和DAGScheduler)的进程,当然在Driver上你也可以做很多非Spark的事情,这些事情只会在Driver上面执行,而由SparkContext上牵引出来的代码则会由DAGScheduler分析,并形成Job和Stage交由TaskScheduler,再由TaskScheduler交由各Executor分布式执行。 所以Driver和AppMaster是两个完全不同的东西,Driver是控制Spark计算和任务资源的,而AppMaster是控制yarn app运行和任务资源的,只不过在Spark on Yarn上,这两者就出现了交叉,而在standalone模式下,资源则由Driver管理。在Spark on Yarn上,Driver会和AppMaster通信,资源的申请由AppMaster来完成,而任务的调度和执行则由Driver完成,Driver会通过与AppMaster通信来让Executor的执行具体的任务。 # client与cluster的区别 对于yarn-client和yarn-cluster的唯一区别在于,yarn-client的Driver运行在本地,而AppMaster运行在yarn的一个节点上,他们之间进行远程通信,AppMaster只负责资源申请和释放(当然还有DelegationToken的刷新),然后等待Drive...
问津已非少年 发布于 6天前 阅读 86

Hadoop、Spark、Hbase、Hive的安装

        工作中需要使用Hadoop环境,在三节点上搭建了一套Hadoop环境,顺便做下笔记。因为机器内存较低,没有使用CDH,为保证和线上环境一致,使用Hadoop等版本和CDH5.10的一致。 一、环境及软件准备 设置ip地址,hosts,ssh免密登录,scp,sudo,关闭防火墙,yum,ntp时间同步 略。 Java安装 略。 软件选择,这里选择的为CDH5.10中的软件版本。 hadoop-2.6.0.tar.gz apache-hive-1.1.0-bin.tar.gz hbase-1.2.0-bin.tar.gz spark-1.6.0-bin-hadoop2.6.tgz IP 主机名 节点 192.168.30.100 hadoop1 zk ,NameNode,ResourceManager,NodeManager, SecondaryNameNode,spark,sparkHistory,HMaster 192.168.30.101 hadoop2 zk,DataNode,NodeManager,spark,HRegionServer 192.168.30.102 hadoop3 zk,DataNode,NodeManager,spark,HRegionServer 二、ZooKeerper 集群安装 1、解压Zookeeper tar xf zookeeper-3.3.6.tar.gz -C /home/hadoop cd /home/hadoop ln -s zookeeper-3.3.6 zookeeper 2、增加配置文件 (1)bin/zkEnv.sh,配置JDK(可选,如果存在多个JDK) JAVA_HOME=/home/hadoop/java (2)进入到zookeeper的conf/中,将zoo_sample.cfg拷贝成zoo.cfg,并添...
老佛爷 发布于 2个月前 阅读 45

ZOOKEEPER集群搭建及测试

zookeeper是一个分布式协调服务,这边kafka因为是需要依赖于zookeeper提供服务 所以这里简单的搭建一下zookeeper集群部署. windows下部署zookeeper相对简单,这里不再赘述 下面以linux服务器搭建为例: 因为zk超过半数节点挂掉则不提供服务,所以建议集群节点个数为奇数个 我这里使用的是三个节点,zk版本:3.4.9
大大的微笑 发布于 2周前 阅读 52

Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南 | ApacheCN

Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized Streams (DStreams)(离散化流) Input DStreams 和 Receivers(接收器) DStreams 上的 Transformations(转换) DStreams 上的输出操作 DataFrame 和 SQL 操作 MLlib 操作 缓存 / 持久性 Checkpointing Accumulators, Broadcast 变量, 和 Checkpoint 应用程序部署 Monitoring Applications (监控应用程序) Performance Tuning (性能调优) Reducing the Batch Processing Times (减少批处理时间) Setting the Right Batch Interval (设置正确的批次间隔) Memory Tuning (内存调优) Fault-tolerance Semantics (容错语义) 快速链接 概述 Spark Streaming 是 Spark Core API 的扩展, 它支持弹性的, 高吞吐的, 容错的实时数据流的处理. 数据可以通过多种数据源获取, 例如 Kafka, Flume, Kinesis 以及 TCP sockets, 也可以通过例如 map, reduce, join, window 等的高级函数组成的复杂算法处理. 最终, 处理后的数据可以输出到文件系统, 数据库以及实时仪表盘中. 事实上, 你还可以在 data streams(数据流)上使用 机器学习 以及 图形处理 算法. 在内部, 它...
片刻 发布于 5天前 阅读 11

Apache Ignite核心特性介绍(2.1.0版)

本文大体上提供了一个Apache Ignite的完整功能一览表,读者可以总体上了解Ignite都包含了哪些功能。
李玉珏 发布于 2个月前 阅读 442 评论 14 点赞 2

elasticsearch-搜索、高亮

1,轻量搜索 查询tweet字段包含elasticsearch字符的文档 GET /_all/tweet/_search?q=tweet:elasticsearch 多查询字段查询GET /_all/tweet/_search?+name:john +tweet:mary + 前缀表示必须与查询条件匹配。类似地, - 前缀表示一定不与查询条件匹配。没有 + 或者 - 的所有其他条件都是可选的——匹配的越多,文档就越相关。 全文检索:_all 2,映射 es对输入的每个字符类型都需要进行映射 字符串: string 整数 : byte, short, integer, long 浮点数: float, double 布尔型: boolean 日期: date es也可以自定义数据类型。 当你索引一个包含新域的文档--之前未曾出现-- Elasticsearch 会使用 动态映射 ,通过JSON中基本数据类型,尝试猜测域类型,使用如下规则: JSON type 域 type 布尔型: true 或者 false boolean 整数: 123 long 浮点数: 123.45 double 字符串,有效日期: 2014-09-15 date 字符串: foo bar string 获取es数据类型 http://localhost:9200/index/_mapping/type?pretty 3,复杂搜索    查询表达式(Query DSL),以及复合(Compound) 语句,eg GET /_search { "query": { "match": { "tweet": "elasticsearch" ...
skanda 发布于 6天前 阅读 10

大数据初学者学习路线介绍

致目前想要学习大数据,但是却不了解大数据,也不知道该从哪开始学起的同学,希望这篇文章能够帮到你们。
烨华_bigdata 发布于 4周前 阅读 433

标签生成器

``` package com.hhb.spark.core import org.apache.spark.{SparkConf, SparkContext} import com.alibaba.fastjson.JSON /** * 标签生成器 * Created by dell on 2017/9/20. */ object TagGenerator { def main(args: Array[String]) { val conf = new SparkConf() .setAppName("TagGenerator").setMaster("local") .set("spark.testing.memory", "2147480000") val sc = new SparkContext(conf) // 加载文件 val rdd1 = sc.textFile("c://temptags.txt") // 过滤文件 val rdd2 = rdd1.map(line => { val arr = line.split("\\t")// 切割 val busId = arr(0) val text = arr(1) // 将字符串转为json对象 val jo = JSON.parseObject(text) val jarr = jo.getJSONArray("extInfoList") if(jarr != null && jarr.size() > 0){ val v1 = jarr.getJSONObject(0) val arr2 = v1.getJSONArray("values") if (arr2 != null && arr2.size() > 0){ var str = "" var i = 0 while (i < arr2.size()) { str = str + arr2.getString(i) + "," i += 1 } (busId, str.substring(0, str.length - 1)) } else (busId, "") } else (busId, "") }) // 过滤,没有评论的过滤掉 val rdd3 = rdd...
别寒 发布于 5天前 阅读 5

Hadoop1.x之hdfs集群搭建

Hadoop1.x,hdfs集群搭建,初步搭建,自学笔记
Anuge 发布于 1天前 阅读 5

统计基础

  note   均值 中位数 众数 极差 方差 标准差 图形 直方图,箱线图,茎叶图,线图,柱形图,饼图  
pandudu 发布于 1天前 阅读 5 评论 1

Apache Spark 2.2.0 中文文档 - Structured Streaming 编程指南 | ApacheCN

Structured Streaming 编程指南 概述 快速示例 Programming Model (编程模型) 基本概念 处理 Event-time 和延迟数据 容错语义 API 使用 Datasets 和 DataFrames 创建 streaming DataFrames 和 streaming Datasets Input Sources (输入源) streaming DataFrames/Datasets 的模式接口和分区 streaming DataFrames/Datasets 上的操作 基础操作 - Selection, Projection, Aggregation Window Operations on Event Time (事件时间窗口操作) 处理 Late Data (迟到数据)和 Watermarking (水印) Join 操作 Streaming Deduplication (Streaming 去重) Arbitrary Stateful Operations (任意有状态的操作) 不支持的操作 开始 Streaming Queries Output Modes (输出模式) Output Sinks (输出接收器) 使用 Foreach 管理 Streaming Queries 监控 Streaming Queries Interactive APIs Asynchronous API Recovering from Failures with Checkpointing (从检查点恢复故障) 从这里去哪儿 概述 Structured Streaming (结构化流)是一种基于 Spark SQL 引擎构建的可扩展且容错的 stream processing engine (流处理引擎)。您可以以静态数据表示批量计算的方式来表达 stre...
片刻 发布于 17小时前 阅读 5

一天一个RDD函数-3:checkpointRDD

检查点是一个数据库事件,它把修改数据从高速缓存写入磁盘,并更新控制文件和数据文件,起到的是一个持久化的作用。 看一下函数的定义: private def checkpointRDD: Option[CheckpointRDD[T]] = checkpointData.flatMap(_.checkpointRDD) 返回了一个CheckpointRDD[T]的Option类,Scala语言中包含一个标准类型Option类型,代表可选值,Option类型的值可以有两个可能的值,一个为some(x) 其中x为有效值,另外一个为None对象,代表空值。即要么返回一个CheckpointRDD[T]类型,要么返回一个None值。 而变量checkpointData在源码中是这么定义的 private[spark] var checkpointData: Option[RDDCheckpointData[T]] = None 可以看到它是一个RDDCheckpointData[T]的类型,继续探究一下: /** * This class contains all the information related to RDD checkpointing. Each instance of this * class is associated with an RDD. It manages process of checkpointing of the associated RDD, * as well as, manages the post-checkpoint state by providing the updated partitions, * iterator and preferred locations of the checkpointed RDD. */ private[spark] abst...
牧师-Panda 发布于 4小时前 阅读 1

numpy模块

numpy.array()   生成np array 对象,显示和列表一致,区别:可使用矩阵运算(加减乘除),结果为矩阵。也可以使用boolean值生成对象,序列对象所有的值类型必须一致。 numpy.array(object).shape   获取维度属性 numpy.array(object)[:,0] 2d array 取第一列 numpy.array(object)[0,:] 2d array 取第一行 numpy.mean()      平均数 numpy.median()  中位数 numpy.std()     标准差 numpy.corrcoef(np_array1,np_array2)   相关系数
ricardohn 发布于 11小时前 阅读 17

Apache Spark 2.2.0 中文文档 - Structured Streaming 编程指南 | ApacheCN

Structured Streaming 编程指南 概述 快速示例 Programming Model (编程模型) 基本概念 处理 Event-time 和延迟数据 容错语义 API 使用 Datasets 和 DataFrames 创建 streaming DataFrames 和 streaming Datasets Input Sources (输入源) streaming DataFrames/Datasets 的模式接口和分区 streaming DataFrames/Datasets 上的操作 基础操作 - Selection, Projection, Aggregation Window Operations on Event Time (事件时间窗口操作) 处理 Late Data (迟到数据)和 Watermarking (水印) Join 操作 Streaming Deduplication (Streaming 去重) Arbitrary Stateful Operations (任意有状态的操作) 不支持的操作 开始 Streaming Queries Output Modes (输出模式) Output Sinks (输出接收器) 使用 Foreach 管理 Streaming Queries 监控 Streaming Queries Interactive APIs Asynchronous API Recovering from Failures with Checkpointing (从检查点恢复故障) 从这里去哪儿 概述 Structured Streaming (结构化流)是一种基于 Spark SQL 引擎构建的可扩展且容错的 stream processing engine (流处理引擎)。您可以以静态数据表示批量计算的方式来表达 stre...
片刻 发布于 17小时前 阅读 5

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession 创建 DataFrames 无类型的Dataset操作 (aka DataFrame 操作) Running SQL Queries Programmatically 全局临时视图 创建Datasets RDD的互操作性 使用反射推断Schema 以编程的方式指定Schema Aggregations Untyped User-Defined Aggregate Functions Type-Safe User-Defined Aggregate Functions Data Sources (数据源) Generic Load/Save Functions (通用 加载/保存 功能) Manually Specifying Options (手动指定选项) Run SQL on files directly (直接在文件上运行 SQL) Save Modes (保存模式) Saving to Persistent Tables (保存到持久表) Bucketing, Sorting and Partitioning (分桶, 排序和分区) Parquet Files Loading Data Programmatically (以编程的方式加载数据) Partition Discovery (分区发现) Schema Merging (模式合并) Hive metastore Parquet table conversion (Hive metastore Parquet table 转换) Hive/Parquet Schema Reconciliation Metadata Refreshing (元数据刷新) Configuration (配置) JSON Datasets (J...
片刻 发布于 17小时前

10小时入门大数据

http://coding.imooc.com/class/128.html#Anchor 10小时入门大数据 时下引领着技术变革的非“大数据”莫属,本课程带你从0基础开始上手,让你全面掌握Hadoop开发的核心技能:HDFS 、YARN 、MapReduce的搭建及框架的应用,了解最火爆最前沿的大数据技术发展趋势,快速入门大数据! 第1章 大数据概述 本章将从几则故事说起,让大家明白大数据是与我们的生活息息相关的,并不是遥不可及的,还会介绍大数据的特性,以及大数据对我们带来的技术变革,大数据处理过程中涉及到的技术 第2章 初识Hadoop 本章节将带领大家认识Hadoop以及Hadoop生态系统、Hadoop的发展史、Hadoop的优缺点、Hadoop的三个核心组件、Hadoop发行版的选择以及Hadoop在企业中的案例分享,为后续深入讲解Hadoop打下坚实的基础 第3章 分布式文件系统HDFS 本章将从Hadoop的设计目标、架构及副本的脚本带大家详细剖析,快速搭建单节点伪分布式HDFS的实验环境,并讲解使用hdfs shell以及Java API的方式操作HDFS文件系统,并详细分析HDFS文件的读写流程,使得大家对Hadoop分布式文件系统HDFS有深刻的认识以及使用… 第4章 分布式资源调度YARN 本章将从YARN的产生背景、YARN的架构及执行流程的角度带大家认知Hadoo...
wusejason 发布于 18小时前 阅读 2

ActiveMQ几个重要的配置文件

这里对activemq中几个重要的配置文件的配置做一个介绍,以便后续有用到时再来翻看,寻找记忆以免忘记
大大的微笑 发布于 18小时前 阅读 18

Intel BIGDL 探索

如何安装和使用BigDL
pearma 发布于 20小时前 阅读 3

统计基础

  note   均值 中位数 众数 极差 方差 标准差 图形 直方图,箱线图,茎叶图,线图,柱形图,饼图  
pandudu 发布于 1天前 阅读 5 评论 1

TF-IDF与余弦相似性的应用:自动提取关键词

摘自: http://www.ruanyifeng.com/blog/2013/03/tf-idf.html     我们用搜索引起进行搜索时,得到的结果通常会根据相关性排序,关性高的结果显示在前面。那么,相关性是如何计算呢?   这里介绍一个简单而又经典的算法:TF-IDF。   举个例子:假定现在有一篇长文《中国的蜜蜂养殖》,我们准备用计算机提取它的关键词。   一个容易想到的思路,就是找到出现次数最多的词。如果某个词很重要,它应该在这篇文章中多次出现。于是,我们进行"词频"(Term Frequency,缩写为TF)统计。   结果你肯定猜到了,出现次数最多的词是----"的"、"是"、"在"----这一类最常用的词。它们叫做"停用词"(stop words),表示对找到结果毫无帮助、必须过滤掉的词。   假设我们把它们都过滤掉了,只考虑剩下的有实际意义的词。这样又会遇到了另一个问题,我们可能发现"中国"、"蜜蜂"、"养殖"这三个词的出现次数一样多。这是不是意味着,作为关键词,它们的重要性是一样的?   显然不是这样。因为"中国"是很常见的词,相对而言,"蜜蜂"和"养殖"不那么常见。如果这三个词在一篇文章的出现次数一样多,有理由认为,"蜜蜂"和"养殖"的重要程度要大于"中国",也就是说,在关键词排序上面,"蜜蜂"...
StanleySun 发布于 1天前 阅读 6

一天一个RDD函数-2:flatMap

上一篇文章:一天一个RDD函数-1:map  为我们讲述了map函数的源码,并补充了源码涉及到的一些语法知识,为了有一个更好的承上启下的作用,本篇文章决定写flatMap。顾名思义,flatMap比map多了一个flat操作。那么这个flat究竟是什么意思,它在实践中又能起到什么用呢?我们一步步来看,首先看看源码实现。 /** * Return a new RDD by first applying a function to all elements of this * RDD, and then flattening the results. */ def flatMap[U: ClassTag](f: T => TraversableOnce[U]): RDD[U] = withScope { val cleanF = sc.clean(f) new MapPartitionsRDD[U, T](this, (context, pid, iter) => iter.flatMap(cleanF)) } 对比一下map函数 /** * Return a new RDD by applying a function to all elements of this RDD. */ def map[U: ClassTag](f: T => U): RDD[U] = withScope { val cleanF = sc.clean(f) new MapPartitionsRDD[U, T](this, (context, pid, iter) => iter.map(cleanF)) } 如上所述,我们进一步看看,iter.flatMap的实现。 /** Creates a new iterator by applying a function to all values produced b...
牧师-Panda 发布于 2天前 阅读 4

本地模式运行spark streaming程序(win7安装nc命令通信)

首先在win7上安装nc命令 下载nc程序包,放在c盘目录下,cmd打开命令行,进入nc目录,执行:nc -l -L -p 8888开始监控。再打开一个命令行窗口进入nc目录,执行nc localhost 8888命令进行测试,此时,再新开的窗口下输入hello world回车,即可在监控目录下打印出来。 下面就可以写scala代码进行实验了,Scala代码: ``` package cn.hhb.spark.streaming import org.apache.spark.streaming.{Seconds, StreamingContext} import org.apache.spark.{SparkConf} /** * streaming测试. */ object SparkstreamingDemo { def main(args: Array[String]) { val conf = new SparkConf() .setAppName("SparkstreamingDemo") .setMaster("local[*]") .set("spark.testing.memory", "2147480000") val ssc = new StreamingContext(conf, Seconds(1)) val lines = ssc.socketTextStream("localhost", 8888) val words = lines.flatMap(_.split(" ")) val pairs = words.map((_,1)) val result = pairs.reduceByKey(_ + _) // 输出结果 result.print() // 开始计算 ssc.start() // 等待结束 ssc.awaitTermination() } } ``` 运行起来之后关闭测试的cmd命令行窗口,在nc -l -L -p 8888窗口下...
别寒 发布于 2天前 阅读 3

一天一个RDD函数-1:map

如果想搞懂,那就需要耐心
牧师-Panda 发布于 2天前 阅读 4

Elasticsearch下安装IK中文分词器

环境:elasticsearch版本是5.5.2,其所在目录为/usr/local/elasticsearch-5.5.2 1. 下载 - curl -L -O https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.2/elasticsearch-analysis-ik-5.5.2.zip 解压到 /usr/local/elasticsearch-5.5.2/plugins/ , 目录结构如下 ``` ├── plugins │   └── elasticsearch-analysis-ik │   ├── commons-codec-1.9.jar │   ├── commons-logging-1.2.jar │   ├── config │   │   ├── extra_main.dic │   │   ├── extra_single_word.dic │   │   ├── extra_single_word_full.dic │   │   ├── extra_single_word_low_freq.dic │   │   ├── extra_stopword.dic │   │   ├── IKAnalyzer.cfg.xml │   │   ├── main.dic │   │   ├── preposition.dic │   │   ├── quantifier.dic │   │   ├── stopword.dic │   │   ├── suffix.dic │   │   └── surname.dic │   ├── elasticsearch-analysis-ik-5.5.2.jar │   ├── httpclient-4.5.2.jar │   ├── httpcore-4.4...
StanleySun 发布于 2天前 阅读 1

更新solr的schema.xml带的问题

多值存储,后修改为不存储,此时对同一个ID的多值字段PVersion执行原子操作add,理论上应该在原有的多个值后面添加上当前值,然后实际上,是当前值把修改schema.xml之前的值给覆盖了,PVersion当前只有一个刚插入的值。从存储改为不存储,同样执行原子操作add,实际上也是覆盖了之前的值,而不是追加。 从这里可以多出,schema.xml中配置的字段拥有的属性不能随便改变,一旦改变,如果之前已有的值,即使执行原子操作也会被覆盖,会带来很大的影响,所有在修改schema.xml时,添加字段时,字段属性要确定好,已经添加过的字段,其属性没必要一定不要修改。
爱运动的小乌龟 发布于 3天前 阅读 14

SecureCRT7.3下载和破解

SecureCRT7.3下载和破解
lcyanxi 发布于 4天前 阅读 4

如何快速删除hive表中的字段

HIVE alter table 语句结构: CREATE TABLE test ( creatingTs BIGINT, a STRING, b BIGINT, c STRING, d STRING, e BIGINT, f BIGINT ); 如果需要删除 column f 列,可以使用以下语句: ALTER TABLE test REPLACE COLUMNS ( creatingTs BIGINT, a STRING, b BIGINT, c STRING, d STRING, e BIGINT );
牧师-Panda 发布于 4天前 阅读 4

Flume学习-Interceptor配置

Flume的interceptors可以在event放到channel之前插入一些header,比如HDFS Sink用到的timestamp,也可以对body进行修改 参考:http://flume.apache.org/FlumeUserGuide.html Timestamp Interceptor 插入一个timestamp头部 type – The component type name, has to be timestamp or the FQCN preserveExisting false If the timestamp already exists, should it be preserved - true or false Host Interceptor 插入hostname或者ip地址头部 Property Name Default Description type – The component type name, has to be host preserveExisting false If the host header already exists, should it be preserved - true or false useIP true Use the IP Address if true, else use hostname. hostHeader host The header key to be used.   Static Interceptor 插入自定义的头部,可以指定key和value type – The component type name, has to be static preserveExisting true If configured header already exists, should it be preserved - true or false key key Name of header that should be created value value Static value that should be created   ...
Endless2010 发布于 4天前 阅读 9

Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南 | ApacheCN

Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized Streams (DStreams)(离散化流) Input DStreams 和 Receivers(接收器) DStreams 上的 Transformations(转换) DStreams 上的输出操作 DataFrame 和 SQL 操作 MLlib 操作 缓存 / 持久性 Checkpointing Accumulators, Broadcast 变量, 和 Checkpoint 应用程序部署 Monitoring Applications (监控应用程序) Performance Tuning (性能调优) Reducing the Batch Processing Times (减少批处理时间) Setting the Right Batch Interval (设置正确的批次间隔) Memory Tuning (内存调优) Fault-tolerance Semantics (容错语义) 快速链接 概述 Spark Streaming 是 Spark Core API 的扩展, 它支持弹性的, 高吞吐的, 容错的实时数据流的处理. 数据可以通过多种数据源获取, 例如 Kafka, Flume, Kinesis 以及 TCP sockets, 也可以通过例如 map, reduce, join, window 等的高级函数组成的复杂算法处理. 最终, 处理后的数据可以输出到文件系统, 数据库以及实时仪表盘中. 事实上, 你还可以在 data streams(数据流)上使用 机器学习 以及 图形处理 算法. 在内部, 它...
片刻 发布于 5天前 阅读 11

Spark RDD(Resilient Distributed Datasets)论文 | ApacheCN

为了能解决程序员能在大规模的集群中以一种容错的方式进行内存计算这个问题, 我们提出了 RDDs 的概念. 当前的很多框架对迭代式算法场景与交互性数据挖掘场景的处理性能非常差, 这个是 RDDs 的提出的动机. 如果能将数据保存在内存中, 将会使的上面两种场景的性能提高一个数量级. 为了能达到高效的容错, RDDs 提供了一种受限制的共享内存的方式, 这种方式是基于粗粒度的转换共享状态而非细粒度的更新共享状态. 然而, 我们分析表明 RDDs 可以表达出很多种类的计算, 包括目前专门从事迭代任务的编程计算模型, 比如 Pregel, 当然也可以表达出目前模型表达不出的计算. 我们通过 Spark
开拓者-2017 发布于 5天前 阅读 5

Apache Spark 2.2.0 中文文档 - Spark 编程指南 | ApacheCN

Spark 编程指南 概述 Spark 依赖 初始化 Spark 使用 Shell 弹性分布式数据集 (RDDs) 并行集合 外部 Datasets(数据集) RDD 操作 基础 传递 Functions(函数)给 Spark 理解闭包 示例 Local(本地)vs. cluster(集群)模式 打印 RDD 的 elements 与 Key-Value Pairs 一起使用 Transformations(转换) Actions(动作) Shuffle 操作 Background(幕后) 性能影响 RDD Persistence(持久化) 如何选择存储级别 ? 删除数据 共享变量 广播变量 Accumulators(累加器) 部署应用到集群中 从 Java / Scala 启动 Spark jobs 单元测试 快速链接 概述 在一个较高的概念上来说,每一个 Spark 应用程序由一个在集群上运行着用户的 main 函数和执行各种并行操作的 driver program(驱动程序)组成。Spark 提供的主要抽象是一个弹性分布式数据集(RDD),它是可以执行并行操作且跨集群节点的元素的集合。RDD 可以从一个 Hadoop 文件系统(或者任何其它 Hadoop 支持的文件系统),或者一个在 driver program(驱动程序)中已存在的 Scala 集合,以及通过 transforming(转换)来创建一个 RDD。用户为了让它在整个并行操作中更高效的重用,也许会让 Spark persist(持久化)一个 RDD ...
片刻 发布于 5天前 阅读 7

你想了解的Hive Query生命周期--钩子函数篇!

一个Hive SQL语句的执行需要经历哪些阶段? 在这些阶段中,我们可以做哪些事来影响它? Hive为我们提供了很多的钩子函数,我们可以怎样利用它为Hive实现扩展?
问津已非少年 发布于 1个月前 阅读 757 评论 2 点赞 2

【干货】Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件

    在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA、ResourceManager HA之后(详见我的另一篇博文:Apache Hadoop 2.8分布式集群详细搭建过程),接下来将搭建最新稳定版的Apache Hive 2.1.1,方便日常在自己电脑上测试hive配置和作业,同样的配置也可以应用于服务器上。以下是Apache Hive 2.1.1的安装配置详细过程 1、阅读Apache Hive官网说明文档,下载最新版本Hive        Hive是一个基于Hadoop的数据仓库工具,将HDFS中的结构化数据映射为数据表,并实现将类SQL脚本转换为MapReduce作业,从而实现用户只需像传统关系型数据库提供SQL语句,并能实现对Hadoop数据的分析和处理,门槛低,非常适合传统的基于关系型数据库的数据分析向基于Hadoop的分析进行转变。因此,Hive是Hadoop生态圈非常重要的一个工具。        安装配置Apache Hive,最直接的方式,便是阅读 Apache Hive官网的说明文档,能了解到很多有用的信息。Apache Hive 要求JDK 1.7及以上,Hadoop 2.x(从Hive 2.0.0开始便不再支持Hadoop 1.x),Hive 可部署于Linux、Mac、Windows环境。        从官网下载最新稳定版本的 Apache Hive 2.1.1 2、安装配置Apache Hi...
雪饼 发布于 3个月前 阅读 1853 评论 2 点赞 2

【干货】Apache Hadoop 2.8 完全分布式集群搭建超详细过程,实现NameNode HA、ResourceManager HA高可靠性

最近在自己的笔记本电脑上搭建了Apache Hadoop分布式集群,采用了最新的稳定版本2.8,并配置了NameNode、ResourceManager的HA高可用,方便日常对Hadoop的研究与测试工作。详细的搭建过程如下: 1、安装docker,创建docker容器,用于搭建hadoop节点 docker真是个好东西啊,当要在自己的笔记本上搭建分布式集群时,由于CPU、内存、磁盘有限,无法在VMware上虚拟出太多节点,这时使用docker创建几个容器,就能轻松搭建一个分布式集群了。 (1)先在VMware上安装centos6.9,作为宿主机,然后安装docker,具体过程见我另一篇博文:Centos6.9安装docker (2)然后再docker hub中拉取centos镜像,用于创建分布式集群的节点,推荐在docker中安装centos6(docker中的centos7有坑,被坑过,呜呜),具体过程见我另一篇博文:docker中安装centos6 (3)centos镜像准备好后,就开始创建docker容器,用于搭建hadoop的节点 # 创建4个节点,用于搭建hadoop docker run -it --name hadoopcentos1 centos:6 /bin/bash docker run -it --name hadoopcentos2 centos:6 /bin/bash docker run -it --name hadoopcentos3 centos:6 /bin/bash docker run -it --name hadoopcentos4 centos:6 /bin/b...
雪饼 发布于 3个月前 阅读 3696 评论 20 点赞 5

Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)

Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.net/xyang81/article/details/52554398可以看更多介绍 Keepalived的介绍可以百度一堆一堆的资料。一定要看看哦。 1.基于上一篇博客总结,再次安装一个虚拟机当backup服务器,这个服务器只安装Keepalived+Nginx即可 2.Master还是上一篇博文的虚拟机,环境是Tomcat+JDK+Nginx+Keepalived 3.每个Nginx服务器都安装Keepalived
小帅帅丶 发布于 4个月前 阅读 5733 评论 5 点赞 6

Elasticsearch 与 Thinkphp 增删改查操作

    Elasticsearch 建模  mappings有点类似我们定义MySQL的数据库表结构的时候,需要指定每个字段的名字,其数据类型一样。当然,这个定义过程,也指明了这个表结构一共含有多少个字段了。对于ES而言,就相当于指定了一个document有多少field,每个field的数据类型,注意,这个比MySQL定义表过程,还多了一个有用的操作,就是指定每个字段可用的分析器(analyzer). 当然,不指定的话,就是采用默认的standard analyzer,当然你也可以指定某个字段不需要分析器(not_analyzed).   ES支持的数据类型: 简单数据类型: string, date, long, double,integer,boolean 以及ip等等 层级结构类型:JSON型的object,嵌套类型 (都是JSON) 特殊结构类型:geo_point, geo_shape以及completion。 这些数据类型,可以在创建索引的时候,指定   下面,再来说说分析器analyzer。 ES系统默认提供了很多的分析器,最著名的是standard analyzer。另外,还有下面的一些分析器,这些分析器,可以进入官网进行深入研究。 Simple Analyzer Whitespace Analyzer Stop Analyzer Keyword Analyzer Pattern Analyzer Language Analyzers Fingerprint Analyzer 这些分析器中,重点在于如何...
VHUOI 发布于 4个月前 阅读 1181 评论 2 点赞 1 打赏 2

Spark Streaming场景应用-Kafka数据读取方式

## 概述 Spark Streaming 支持多种实时输入源数据的读取,其中包括Kafka、flume、socket流等等。除了Kafka以外的实时输入源,由于我们的业务场景没有涉及,在此将不会讨论。本篇文章主要着眼于我们目前的业务场景,只关注Spark Streaming读取Kafka数据的方式。 Spark Streaming 官方提供了两种方式读取Kafka数据: - 一是Receiver-based Approach。该种读取模式官方最先支持,并在Spark 1.2提供了数据零丢失(zero-data loss)的支持; - 一是Direct Approach (No Receivers)。该种读取方式在Spark 1.3引入。 此两种读取方式存在很大的不同,当然也各有优劣。接下来就让我们具体剖解这两种数据读取方式。 ## 一、Receiver-based Approach 如前文所述,Spark官方最先提供了基于Receiver的Kafka数据消费模式。但会存在程序失败丢失数据的可能,后在Spark 1.2时引入一个配置参数`spark.streaming.receiver.writeAheadLog.enable`以规避此风险。以下是官方的原话: > under default configuration, this approach can lose data under failures (see receiver reliability. To ensure zero-data loss, you have to additionally enable Write Ahead Logs in Spark Streaming (in...
狂奔小蜗牛 发布于 4个月前 阅读 3115 评论 3 点赞 3 打赏 2

CentOS7搭建 Hadoop + HBase + Zookeeper集群

本文主要介绍搭建Hadoop、HBase、Zookeeper集群环境的搭建
kolbe 发布于 4个月前 阅读 5617 评论 15 点赞 19 打赏 1

在Ignite上运行微服务:第三部分

本文是系列文章的最后一篇,这个系列会详细描述如何使用像Ignite这样的内存数据网格(IMDG)技术来构建容错和可扩展的微服务解决方案。
李玉珏 发布于 5个月前 阅读 1560 评论 2 点赞 4 打赏 1

开源中国用户分析

加入开源中国也有超过三年的时间了,觉得开源中国已经越办越好了,突然很想知道它究竟有多好,我是不是开源中国最老的用户,我有176个开源中国的积分能够排名第几,带着这些问题,我抓取了部分开源中国的用户信息,做了一个简单的分析。 数据获取 要获得用户数据,可以通过开源中国的网页来进行。这个是我的主页面 这个页面包含了用户的基本信息,包括用户名,积分,粉丝,关注等等。 点击粉丝链接可以获得所有的粉丝的情况 然后我们就可以通过这些链接,迭代的找到所有相关连的数据了。 工具选取 这次的数据抓取我选用了requests和pyquery requests是一个非常好用的python的http/rest的客户端,比之python自带的urllib要好用很多,推荐使用。 pyquery是用来解析和操纵html和DOM文档,提供类似jquery的语法,比诸如beatifulSoap要好用不少,尤其如果你是一个前段开发者,熟悉jquery,那就更方便了。大家可以参考我的另一篇博客了解更多的背景信息。 爬取网页数据 为了抓取网页的内容,我们可用chrome自带的工具来查看网页的DOM结构: 核心的代码如下: def get_user_info(url): try: r = requests.get(url + "/fans", headers=headers) doc = pq(r.t...
naughty 发布于 5个月前 阅读 3777 评论 53 点赞 18

Spark 1.6.1分布式集群环境搭建

本文展示了在之前搭建的Hadoop分布式集群的基础上如何搭建Spark分布式集群环境。
JackieYeah 发布于 1年前 阅读 7348 评论 6 点赞 9
顶部