数据处理

hadoop 集群搭建与注意点

送分小仙女□ 提交于 2020-02-02 08:54:42
一花一世界 一叶一菩提。 这应该是第二次学习hadoop , 第一次是两年前,刚开始找工作,当时个人眼界 认为ssh 与移动app 开发比较流行,至于hadoop 是一个比较高端的东西,还有一个原因就是当时急需摆脱对父母的依赖,需要一份工作,用活自己;这两年过去了,再次从新审视大数据,感觉一切又回到起点,只不过个人心态,经历,行业环境都发生改变。 我用hadoop 2.7.3 算是比较新版本。 http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz (我用浏览器,百度云下载都失败, 最后用迅雷下载成功); hadoop 基本知识: (1)HADOOP是apache旗下的一套开源软件平台 (2)HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 ; (3)HADOOP的核心组件有 A.HDFS(分布式文件系统) B.YARN(运算资源调度系统) C.MAPREDUCE(分布式运算编程框架) hadoop 历史: (1) 当时 Nutch 爬虫框架, 面对海量的网页,面临两大瓶颈: 一个海量数据存储索引问题, 另外就是网页价值计算; (2)2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案: 一个是谷歌分布式存储GFS

Ranger部署

一世执手 提交于 2020-02-02 07:27:52
一、Apache Ranger是什么? Apache Ranger是一个框架,Hadoop上对于保护数据数据安全性的安全框架。用于在整个Hadoop平台上启用,监视和管理全面的数据安全性。 二、特性 Apache Ranger具有以下特性: 集中式安全管理,可在中央UI或使用REST API管理所有与安全相关的任务。 使用Hadoop组件/工具执行特定操作和/或操作的精细授权,并通过中央管理工具进行管理 跨所有Hadoop组件标准化授权方法。 增强了对不同授权方法的支持-基于角色的访问控制,基于属性的访问控制等。 在Hadoop的所有组件中集中审核用户访问和管理操作(与安全性相关)。 三、ranger内部结构 1、包含的组件如下: Ranger Admin 用户管理策略,提供WebUI和RestFul接口 Ranger UserSync 用于将Unix系统或LDAP用户/组同步到RangerAdmin Ranger TagSync 同步Atlas中的Tag信息 Ranger KMS 2、依赖的组件如下: JDK 运行RangerAdmin RangerKMS RDBMS 1.存储授权策略 2.存储Ranger 用户/组 3.存储审核日志 Solr(可选) 存储审核日志 HDFS(可选) 存储审核日志 Kerberos(可选) 确保所有请求都被认证 3、当前2.1.0支持的组件如下:

吴裕雄 python 数据处理(2)

蓝咒 提交于 2020-02-02 06:38:27
import pandas as pd data = pd.read_csv("F:\\python3_pachongAndDatareduce\\data\\pandas data\\hz_weather.csv") print(data.head()) a = data.stack() print(a) b = a.unstack() print(b) import pandas as pd data = pd.read_csv("F:\\python3_pachongAndDatareduce\\data\\pandas data\\hz_weather.csv") print(data.head()) df = data.set_index("日期") print(df.head()) import pandas as pd data = pd.read_csv("F:\\python3_pachongAndDatareduce\\data\\pandas data\\hz_weather.csv") a = pd.pivot_table(data,values=["最高气温"],index=["天气"],columns=["风向"]) print(a) print(a.info()) import pandas as pd data = pd.read_csv("F:\

大数据量及海量数据处理算法总结

回眸只為那壹抹淺笑 提交于 2020-02-02 04:39:37
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到 的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 1.Bloom filter 适用范围: 可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存 在,很明显这个过程并不保证查找的结果是100%正确的。同时也不支持删除一个已经插入的关键字,因为该关键字对应的位会牵动到其他的关键字。所以一个简 单的改进就是 counting Bloom filter,用一个counter数组代替位数组,就可以支持删除了。 还有一个比较重要的问题,如何根据输入元素个数n,确定位数组m的大小及hash函数个数。当hash函数个数k=(ln2)*(m/n)时错误 率最小。在错误率不大于E的情况下,m至少要等于n*lg(1/E)才能表示任意n个元素的集合。但m还应该更大些,因为还要保证bit数组里至少一半为 0,则m 应该>

大数据学习路线

心不动则不痛 提交于 2020-02-02 03:16:50
大数据处理从hadoop开始经过了几年的发展,生态越来越丰富,也越来越重要。就从目前的各个招聘网站来看也是薪资最高的。但是对于想进入大数据方面的开发人员从何处学习呢?我在网络收集了一些相关的资源,希望可以帮助到大家。 大数据处理流程与应用 一、Github上的学习资源BigData-Notes Github地址 : https://github.com/heibaiying/BigData-Notes 这个github上的资源是最为丰富的。该资源中详细的介绍了大数据学习的各个方面。从大数据收集、存储、分析、实时计算、还有其他相关的辅助技术。 1、数据收集:Flume 、Logstash、Kibana 2、数据存储:Hadoop HDFS 、KFS、GFS 3、数据分析:Hadoop MapReduce、Spark、Flink、Storm 4、实时计算:Spark、Flink、Storm 大数据学习路线图 二、Flink实时计算框架flink-learning Github地址 :https://github.com/zhisheng17/flink-learning 该资源介绍了flink相关的知识点,同时也包含与各种中间件集成的例子。是个不错的学习资源。 总之学习大数据要先学会相关的开发语言。目前大数据相关的开发语言Java、Scala。另外就是要知道相关的大数据收集相关的框架了

【海量数据处理】100亿个整数,内存足够,如何找到中位数?内存不足,如何找到中位数?

余生长醉 提交于 2020-02-02 01:08:00
内存足够的情况: 可以使⽤用类似quick sort的思想进行,均摊复杂度为O(n),算法思想如下: • 随机选取一个元素,将比它小的元素放在它左边,比它大的元素放在右边 • 如果它恰好在中位数的位置,那么它就是中位数,可以直接返回 • 如果小于它的数超过一半,那么中位数一定在左半边,递归到左边处理 • 否则,中位数一定在右半边,根据左半边的元素个数计算出中位数是右半边的第几大,然后递归 到右半边处理 内存不足的情况: 无重复数字:   bitmap方法 有重复数字:   既然要找中位数,很简单就是排序的想法。那么基于字节的桶排序是一个可行的方法 :   思想:将整形的每1byte作为一个关键字,也就是说一个整形可以拆成4个keys,而且最高位的keys越大,整数越大。如果高位keys相同,则比较次高位的keys。整个比较过程类似于字符串的字典序。   第一步:把10G整数每2G读入一次内存,然后一次遍历这536,870,912个数据。每个数据用位运算">>"取出最高8位(31-24)。这8bits(0-255)最多表示255个桶,那么可以根据8bit的值来确定丢入第几个桶。最后把每个桶写入一个磁盘文件中,同时在内存中统计每个桶内数据的数量,自然这个数量只需要255个整形空间即可。   代价:(1) 10G数据依次读入内存的IO代价(这个是无法避免的,CPU不能直接在磁盘上运算)。

【大数据面试题】(五)Spark 相关面试题总结

痴心易碎 提交于 2020-02-01 23:28:33
文章目录 一、spark中的RDD是什么,有哪些特性? 二、概述一下spark中的常用算子区别(map,mapPartitions,foreach,foreachPatition)? 三、谈谈spark中的宽窄依赖? 四、spark中如何划分stage? 五、RDD缓存? 六、driver 的功能是什么? 七、Spark master 使用zookeeper 进行HA 的,有哪些元数据保存在Zookeeper? 一、spark中的RDD是什么,有哪些特性? 答:RDD(Resilient Distributed Dataset)叫做分布式数据集,是spark中最基本的数据抽象,它代表一个不可变,可分区,里面的元素可以并行计算的集合 Dataset:就是一个集合,用于存放数据的 Destributed:分布式,可以并行在集群计算 Resilient:表示弹性的,弹性表示 RDD中的数据可以存储在内存或者磁盘中; RDD中的分区是可以改变的; 五大特性: A list of partitions:一个分区列表,RDD中的数据都存储在一个分区列表中 A function for computing each split:作用在每一个分区中的函数 A list of dependencies on other RDDs:一个RDD依赖于其他多个RDD,这个点很重要

Hadoop集群大数据解决方案之IDE配Maven实现MapReduce 程序实战(五)

a 夏天 提交于 2020-02-01 23:26:58
准 备    关于mapreduce的原理,说的再天花乱坠,也还是原理,如图1,用程序练习一个简单的word count程序,采用IDE+Maven简单的撸一把,下一篇博客可以搞点有趣的,哎呀,不得不说Maven这个东西真是太好用了,想起以前手动导依赖的Jar包,简直苦不堪言。 图1 mapreduce wordcount 图谱 测试数据如下,在集群hdfs上/tmp/wcinput/wordcount.xt下文件: hello myname hadoop world lau hello map hdfs spark hive reduce map zookeeper world word log hdfs myname hive hi lau 编写项目 表1 Java数据类型和Writable类型对比 Java基本类型 Writable实现 序列化大小(字节) boolean BooleanWritable 1 byte ByteWritable 1 short ShortWritable 2 int IntWritable 4 int VintWritable(可变长) 1~5 float FloatWritable 4 long LongWritable 8 long VlongWritable(可变长) 1~9 double DoubleWritable 8 String

学习进度-01

时光毁灭记忆、已成空白 提交于 2020-02-01 17:48:12
首先对一些spark的基本知识进行了学习 spark的基本工作原理是:将spark的程序提交到spark集群上,在Hadoop的HDFS或者Hive上读取数据,读取的数据存放在各个spark的节点上,分布式的存放在多个节点上,主要在每个节点的内存上,这样可以加快速度。 对节点的数据进行处理,处理后的数据存放在其他的节点的内存上。对数据的 计算操作针对多个节点上的数据进行并行操作。处理之后的数据可以到hadoop或者mysql或hbase中,或者结果直接返回客户端。每一批处理的数据就是一个RDD 来源: https://www.cnblogs.com/zhaoxinhui/p/12249089.html

hadoop入门程序

巧了我就是萌 提交于 2020-02-01 09:08:34
首先复习一下hadoop中hdfs常用的命令 /** * hadoop fs -mkdir 创建HDFS目录 * hadoop fs -ls 列出HDFS目录 * hadoop fs -copyFromLocal 使用-copyFromLocal 复制本地(local)文件到HDFS * hadoop fs -put 使用-put 复制本地(local)文件到HDFS * hadoop fs -cat 列出HDFS目录下的文件内容 * hadoop fs -copyToLocal * 使用-copyToLocal 将HDFS上文件复制到本地(local) * hadoop fs -get 使用-get 将HDFS上文件复制到本地(local) * hadoop fs -cp 复制HDFs文件 * hadoop fs -rm 删除HDFS文件 */ 一、maven配置 <?xml version="1.0" encoding="UTF-8"?> <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