数据处理

大数据之Hadoop

泪湿孤枕 提交于 2020-01-29 22:04:58
经过前期的软件和应用程序的安装,我学习了一下Linux的基本命令,然后开始安装 hadoop,我看的是尚硅谷的大数据视频,我有源码,软件的压缩包,笔记等等很多 的资料,也是在B站群正常购买的,有想要的,请私聊我呀!! 然后就是开始真正的大数据学习,学习大数据,最显要了解Hadoop以及Hadoop的 生态圈,当然这里的东西特别多,没有经年累月的学习是学习不完的,经过和队友的 商议,和tzp学长的建议,他告诉我先学习一下Hadoop的hdfs,分布式文件管理系 统, 和mapredece,计算框架就算是大数据入门了,所以我看了网上一些配置的教程 感觉 这个配置超级麻烦,所以,我还是照着视频讲解的一步一步的配置吧,这里要为 尚硅谷 的那个2018讲大数据的老师点赞,我也建议大家看尚硅谷大数据2018年的课程 2019最 新版的我也看了,我认为里面的视频讲解的不太细致,因为那个老师直接拿已经 安装好 的伪分布式的hdfs开始讲,初学者一定会很蒙,所以建议大家去b站上搜索2018 的。按 照上面的视频一步一步的操作,再加上我自己手里的文档,几乎可以做到0失误。 下面我要说一下我对HDFS分布式文件系统的理解。 分布式文件管理系统会提供多个用户的服务器,而且一般是有备份和容错功能的,它是由 java语言实现的分布式,课横向扩展的文件系统。Namenode是中心服务器,它一般管理

机器学习和大数据优质资料打包下载,宅在家里学习吧!

限于喜欢 提交于 2020-01-29 17:59:24
与其宅在家里无聊,不如利用网络免费资源丰富一下自己的知识储备。这里我总结了一下大数据和AI相关领域的免费资源,这些书籍和资料都是我个人阅读过,一些阅读经验也和大家分享一下。鉴于当前形势,购买书籍不太方便,我已经将这些书籍的电子版打包整理好,文末有下载方式。 机器学习 机器学习 入门机器学习有两本必读的中文书:周志华的《机器学习》和李航的《统计学习方法》。这两本书主要介绍机器学习的统计学原理,深入浅出,是机器学习必不可少的好书。其中,周志华的《机器学习》封面是一个西瓜,内容中大量使用了瓜来举例,因此被称为西瓜书。我认为,对于零基础的朋友,周志华的这本西瓜书入门机器学习更合适。《统计学习方法》适合面试算法工程师前快速地回顾和梳理知识。我建议在有一定的《机器学习》阅读基础后,再学习《统计学习方法》。 深度学习 深度学习领域很多人推荐Ian Goodfellow和Yoshua Bengio等大牛的《Deep Learning》,因其封面是一幅花的油画,被称为花书。中文本由北大张志华老师团队翻译。我自己读过中文版,读了两三章放弃了,因为整本书主要介绍深度学习背后的各种数学推导,即使有一定数学基础的朋友也可能需要花费大量精力啃明白书中的各种数学符号,因此这本书更适合深度学习相关的博士生和研发人员。有英文基础的朋友可以直接在线阅读:http://www.deeplearningbook.org/

RDD编程学习笔记2_键值对RDD_综合案例-计算每种图书的每天平均销量

不羁的心 提交于 2020-01-29 16:03:18
常见操作 reduceByKey和groupByKey的区别 groupByKey只做分组,不会进行汇总 reduceByKey会进行汇总求和(写过map,reduce函数框架的话应该很好理解) groupByKey可以通过利用Iterable的容器函数达到一些reduceByKey的效果 以下三种操作是等价的 ########## 起始操作 ############# scala > val words = Array ( "One" , "Two" , "Two" , "Three" , "Three" , "Three" ) words: Array [ String ] = Array ( One, Two, Two, Three, Three, Three ) scala > val wordRdd = sc.parallelize ( words ) .map ( word = > ( word,1 )) wordRdd: org.apache.spark.rdd.RDD [ ( String, Int ) ] = MapPartitionsRDD [ 40 ] at map at < console > :26 ########## 3种求和方式 ########### scala > val word_add = wordRdd.reduceByKey ( _+_

Hadoop入门实验

為{幸葍}努か 提交于 2020-01-29 12:48:38
Hadoop 实验总结 一、实验目的 了解 Hadoop 的 MapeReduce 工作原理 二、实验内容 实现基于单机的伪分布式运行模拟 三、实验需要准备的软件和源 1 、 Jdk1.6 以上 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 2 、 Cygwin 下载地址: http://www.cygwin.com/ 3 、稳定版 hadoop 下载地址: http://hadoop.apache.org/common/releases.html#Download 四、实验步骤 1 、了解 Hadoop 工作机制 a 、 Hadoop 整体框架运行机制介绍 请参见 http://hi.baidu.com/wongxuelei/blog/item/c1642050cfb56d481138c2fd.html b 、 Hadoop 中 MapReduce 部分执行流程 请参见 http://www.blogjava.net/shenh062326/archive/2011/01/14/342959.html c 、 Hadoop 在线中文技术文档 请参见 http://hadoop.apache.org/common/docs/r0.18.2/cn/ 个人意见: a 和 b 说的非常详细

ros多线程数据处理方法(在主函数中循环处理消息与回调函数循环冲突解决方法)

一曲冷凌霜 提交于 2020-01-29 11:36:13
在ros节点中,主函数中不能设置长时间的循环,否则会影响回调函数的执行 主函数如下 #include <iostream> #include "senser_bridge.h" #include "nav.h" int main(int argc, char *argv[]) { ros::init(argc,argv,"nav_test"); ROS_INFO("*******"); SenserBridge senser_bridge; while(true){ cout << "主函数" <<endl; sleep(1); } ros::spin(); } SenserBridge类如下 SenserBridge::SenserBridge() { imu_sub_ = nh_.subscribe("/insprobe/imu0", 200, &SenserBridge::ImuDataCollect, this); pose_pub_ = nh_.advertise<sensor_msgs::PointCloud2>("/pose",200); } //回调函数 void SenserBridge::ImuDataCollect(const sensor_msgs::Imu::ConstPtr &msg) { sensor_msgs::Imu imu_data; imu

Spark之 RDD

雨燕双飞 提交于 2020-01-29 11:26:05
简介 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。   Resilient:弹性,它表示的含义rdd的数据是可以保存在内存中或者是磁盘中。   Distributed:它的数据是分布式存储的,后期方便于进行分布式计算。   Dataset:它就是一个集合,集合里面可以存放了很多个元素。 RDD的属性 1 A list of partitions 一个分区列表,在这里表示一个rdd中有很多个分区(partitions),Spark任务的计算以分区为单位,每一个分区就是一个task。读取hdfs上文件产生的RDD分区数跟文件的block个数相等 rdd1=sc.textFile("/words.txt") 2 A function for computing each split Spark中RDD的计算是以分区为单位的,每个RDD都会实现compute函数以达到这个目的。compute函数会对迭代器进行复合,不需要保存每次计算的结果。 3 A list of dependencies on other RDDs 一个RDD会依赖于其他多个RDD,这里就涉RDD之间的依赖关系,RDD的每次转换都会生成新的RDD,Spark任务的容错机制就是根据这个特性而来

Spark Core——day1

一笑奈何 提交于 2020-01-28 08:14:18
spark特点 分布式(分开存储) 主要基于内存(少数情况基于磁盘)(存储位置) 迭代式计算(可以分为多个阶段,而MapReduce只有map和reduce两个阶段,所有计算操作是针对多个节点上的数据进行并行操作的) RDD RDD,即弹性分布式数据集,是Spark提供的核心抽象。 是一种元素集合。被分为多个分区,每个分区分布在集群中的不同节点上,从而RDD中数据可以被并行操作。 通常通过HDFS或Hive表进行创建,也可用程序中的集合进行创建。 最重要特性:容错性,可以自动从节点失败中恢复。即若某节点上的RDD partition(分区)因为节点故障导致数据丢失,则RDD会通过自己的数据重新计算该partition。该过程对使用者透明。 数据默认放在内存中,当内存不足则写入磁盘 Spark 开发 核心开发:离线批处理/延迟性的交互式数据处理 数据 计算 循环 保存 SQL查询(底层是RDD和计算) 实时计算(底层是RDD和计算) wordcount程序 java 配置maven环境 pom.xml 中添加依赖和插件 如何本地测试 public class WordCountLocal{ public static void main(String[] args){ // 第一步,创建SparkConf对象,设置Spark应用的配置信息 // 使用setMaster(

hadoop大数据基础概念解读(一)

穿精又带淫゛_ 提交于 2020-01-28 08:06:40
前言:近几年大数据应用越来越火,各行各业都在利用大数据为自己服务,现在出去,如果说自己公司没用上大数据或者不知道点大数据的东西,感觉都不是IT的,那么今天小编就带大家从基础认识认识大数据。 1 hadoop简介 目前来看大数据应用当然有很多,hadoop,spark,mapR,EMC等一堆技术。今天我们来说说hadoop, 简单来讲Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一种方法。 作用:储存数据,查询数据,综合分析 大数据特点:大量,多样,实时,不确定 2 hadoop组成 Hadoop:Java编写的软件框架,以支持数据密集型分布式应用 ZooKeeper:高可靠性分布式协调系统 MapReduce:针对大数据的灵活的并行数据处理框架 HDFS:Hadoop分布式文件系统 Oozie:负责MapReduce作业调度 Hbase:Key-value数据库 Hive:构建在MapRudece之上的数据仓库软件包 Pig:Pig是架构在Hadoop之上的高级数据处理层。Pig Latin语言为编程人员提供了更直观的定制数据流的方法。 3 基础模型 基础模型 4 应用场合 ※庞大的数据量 ※较少或没有数据依赖 ※包含结构化和非结构化数据 ※适合大规模的并行处理 5 特点 复杂的版本管理,版本管理比较混乱,各种版本层出不穷,在使用的时候难以选择一个恰当的版本;

Spark基础 DAG

淺唱寂寞╮ 提交于 2020-01-28 07:04:10
为什么使用spark的原因是早期的编程模式MapReduce缺乏对数据共享的高效元语,会造成磁盘I/O 以及序列号等开销,spark提出了统一的编程抽象---弹性分布式数据集(RDD),该模型可以令并行计算阶段间高效地进行数据共享。spark处理数据时,会将计算转化为一个有向无环图(DAG)的任务集,RDD能够有效的恢复DAG中故障和慢节点执行的任务,并且RDD提供一种基于粗粒度变换的接口,记录创建数据集的“血统”,能够实现高效的容错性。 spark的作业和任务调度系统是其核心,它能够有效的进行调度的根本原因是因为对任务划分DAG和容错。 DAG,有向无环图,Directed Acyclic Graph的缩写,常用于建模。Spark中使用DAG对RDD的关系进行建模,描述了RDD的依赖关系,这种关系也被称之为lineage,RDD的依赖关系使用Dependency维护,参考Spark RDD之Dependency,DAG在Spark中的对应的实现为DAGScheduler。 基础概念 介绍DAGScheduler中的一些概念,有助于理解后续流程。 作业(Job) 调用RDD的一个action,如count,即触发一个Job,spark中对应实现为ActiveJob,DAGScheduler中使用集合activeJobs和jobIdToActiveJob维护Job 调度阶段

Apache Spark : RDD

佐手、 提交于 2020-01-28 03:45:37
Resilient Distributed Datasets Resilient Distributed Datasets ( RDD ) is a fundamental data structure of Spark. It is an immutable distributed collection of objects. Each dataset in RDD is divided into logical partitions, which may be computed on different nodes of the cluster. RDDs can contain any type of Python, Java, or Scala objects, including user-defined classes. Formally, an RDD is a read-only, partitioned collection of records. RDDs can be created through deterministic operations on either data on stable storage or other RDDs. RDD is a fault-tolerant collection of elements that can be