培训系列5--spark 的 RDD 的 reduce方法使用 1.spark-shell环境下准备数据 val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigator.csv")val header= collegesRdd.first val headerlessRdd= collegesRdd.filter( line=>{ line!= header } ) 2.准备学生数的map val countStuMap= he…
学习了之前的rdd的filter以后,这次来讲spark的map方式 1.获得文件 val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigator.csv")val header= collegesRdd.first 2.通过filter获得纯粹的数据 val headerlessRdd= collegesRdd.filter( line=>{ line!= header } ) 3.查看一下实际数据格式 scala> h…
一.条件表达 case when ... then when .... then ... when ... then ...end select film_id,rpad(title,20," "),case when rating in ("G","PG","PG-13") then "YOUNG" WHEN RATING=="NC-17" THEN "17 AND UP&q…
通过hdfs或者spark用户登录操作系统,执行spark-shell spark-shell 也可以带参数,这样就覆盖了默认得参数 spark-shell --master yarn --num-executors 2 --executor-memory 2G --driver-memory 1536M 默认值得设置一般在/etc/spark/conf/spark-env.sh里面设置 一.通过array数组自动获得 1.枚举生成数组 val arr=Array(1,2,3,4,5,6,7)…
一.做基础数据准备 这次使用fights得数据. scala> val flights= sc.textFile("/user/hdfs/data/Flights/flights.csv")flights: org.apache.spark.rdd.RDD[String] = /user/hdfs/data/Flights/flights.csv MapPartitionsRDD[3] at textFile at <console>:24 scala> val…
一.如何处理RDD的filter 1. 把第一行的行头去掉 scala> val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigator.csv")collegesRdd: org.apache.spark.rdd.RDD[String] = /user/hdfs/CollegeNavigator.csv MapPartitionsRDD[3] at textFile at <console>:24 scala>…
//groupbykey 一.准备数据val flights=sc.textFile("data/Flights/flights.csv")val sampleFlights=sc.parallelize(flights.take(1000))val header=sampleFlights.firstval filteredFlights=sampleFlights.filter(line=>{ line!=header&&line.split(",&…
// dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val header=ny.firstval filterNY =ny.filter(listing=>{ listing.split(",").size==14 && listing!=header }) //因为后面多是按照表格的形式来处理dataframe,所以这里增加…
1.前期数据准备(同之前的章节) val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigator.csv")val header= collegesRdd.first val headerlessRdd= collegesRdd.filter( line=>{ line!= header } ) 2.获得map val typeMapCount= headerlessRdd.map(line=>{val strtype=l…
一,选择数据库,这里使用标准mysql sakila数据库 mysql -u root -D sakila -p 二.首先尝试把表中的数据导入到hdfs文件中,这样后续就可以使用spark来dataframe或者rdd来处理数据 sqoop import --connect "jdbc:mysql://host03.xyy:3306/sakila" --username root --password root --table rental --target-dir "Sqo…
We will be using the sakila database extensively inside the rest of the course and it would be great if you can follow the installation process below. Importing the Sakila Database 一. Change the File .这一步原来提供的文件中可能已经i做好了. Find and Replace all "InnoDB…
一.获得最初的数据并形成dataframe val ny= sc.textFile("data/new_york/")val header=ny.firstval filterNY =ny.filter(listing=>{ listing.split(",").size==14 && listing!=header })val nyMap= filterNY.map(listing=>{ val listingInfo=listing.…
本章节实现一个真正得wordcount 得spark程序. 一.从本地获得一个数据集 val speechRdd= sc.parallelize(scala.io.Source.fromFile("/home/hdfs/Data/WordCount/speech").getLines.toList) 二.把每一样变成多行 val wordMap=speechRdd.flatMap(line=>{ line.split(" ") }) 三.去掉特殊字符,并取消大…
1.使用hdfs用户或者hadoop用户登录 2.在linux shell下执行命令 hadoop fs -put '本地文件名' hadoop fs - put '/home/hdfs/sample/sample.txt' hadoop fs -ls / 列出具体的文件名. hadoop fs  -get ‘/home/spark/data/*’ 从文件系统中获得数据到本地 hadoop fs -cat 查看文件内容 hadoop fs -rm -R  递归删除 hadoop fs -mv …
一.正常按照数据库和表导入 \\前面介绍了通过底层文件得形式导入到hive的表中,或者直接导入到hdfs中,\\现在介绍通过hive的database和table命令来从上层操作.sqoop import --connect "jdbc:mysql://host03.xyy:3306/sakila" --username root --password root --table payment --where "payment_id<=8000" --hive…
培训系列7--对复合value做reduce 1.做基础数据准备 val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigator.csv")val header= collegesRdd.first val headerlessRdd= collegesRdd.filter( line=>{ line!= header } ) 2.做map数据 val typeMapCount= headerlessRdd.map(line=&…
一.union all 的用法.使用union all 或者 unionselect * from rental where rental_id <10union allselect * from rental where rental_id >30 and rental_id <40 二.disctinc 的用法select distinct * from ( select "abc","41",3.12 union all select &qu…
一.基础日期处理 //date 日期处理select current_date;select current_timestamp;//to_date(time) ;to_date(string)select to_date(current_timestamp);select to_date(rental_date) from rental limit 10;month(date/time)year(date/time)day(date/time)second(time)minute(time)h…
一.基本操作 concat(string,string,string)concat_ws(string,string,string)select customer_id,concat_ws(" ",first_name,last_name),email,address_id from customer;lower(string)initcap(string)if 表达式 select customer_id,if (length(first_name)>6 , substring…
大数据平台搭建(hadoop+spark) 一.基本信息 1. 服务器基本信息 主机名 ip地址 安装服务 spark-master 172.16.200.81 jdk.hadoop.spark.scala spark-slave01 172.16.200.82 jdk.hadoop.spark spark-slave02 172.16.200.83 jdk.hadoop.spark spark-slave03 172.16.200.84 jdk.hadoop.spark 2. 软件基本信息 软…
相关博文: 大数据系列之并行计算引擎Spark介绍 之前介绍过关于Spark的程序运行模式有三种: 1.Local模式: 2.standalone(独立模式) 3.Yarn/mesos模式 本文将介绍Spark安装及运行模式的第1.3两种模式. 安装包: spark-2.1.0-bin-hadoop2.7.tgz   size:195MB 下载链接: https://pan.baidu.com/s/1bphB3Q3 密码: 9v5h 安装步骤: 1.本地模式: 1.直接将tgz包放置在任一目录:…
相关博文:大数据系列之并行计算引擎Spark部署及应用 Spark: Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎. Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点:但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭…
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭…
不多说,直接上干货! 在前面的博文里,我已经介绍了 大数据入门基础系列之Linux操作系统简介与选择 大数据入门基础系列之虚拟机的下载.安装详解 大数据入门基础系列之Linux的安装详解 大数据入门基础系列之远程连接工具下载和安装详解 大数据入门基础系列之Apache版本的hadoop集群详细部署搭建(包括HA和非HA)(包括单节点.3节点.5节点) 大数据入门基础系列之CDH版本的hadoop集群详细部署搭建(3节点) 大数据入门基础系列之ClouderManager版本的hadoop集群详细…
目录 1.导包Hadoop包 2.配置环境变量 3.把winutil包拷贝到Hadoop bin目录下 4.把Hadoop.dll放到system32下 5.检测Hadoop是否正常安装 5.1在maven项目中检测,将配置文件放入resource包下 5.2然后通过一个简单的wordcount程序检测Hadoop是否安装成功 5.3保存好之后,写程序: 5.4最后我们打开输出文件查看: 6.容易出现的错误: 6.1.导包错误 6.2.输出文件存在 6.3.环境搭建或配置等错误 @ Hadoop…
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础软件的安装 CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置 CentOS6安装各种大数据软件 第五章:Kafka集群的配置 CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置 CentOS6安装各种大数据软件 第七章:Flume安装与配置 CentOS6安装各…
一.RDD概述 1.什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合.RDD具有数据流模型的特点:自动容错.位置感知性调度和可伸缩性.RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度. 2.RDD属性 1)一组分片(Partition),即数据集的基本组成单位.对于RDD来说,每个分片都会被一个计算任务处…
一.概述 1.什么是spark 从官网http://spark.apache.org/可以得知: Apache Spark™ is a fast and general engine for large-scale data processing. 主要的特性有: Speed:快如闪电(HADOOP的100倍+) Easy to Use:Scala——Perfect.Python——Nice.Java——Ugly.R Generality:Spark内核上可以跑Spark SQL.Spark S…
做大数据一定要有一个概念,需要处理的数据量非常大,少则几十T,多则上百P,全部放内存是不可能的,会OOM,必须要用迭代器一条一条处理. RDD叫做弹性分布式数据集,是早期Spark最核心的概念,是一种数据集合,它的核心就是迭代器. 创建方式 有两种创建RDD的方式: 在驱动程序中并行化现有集合 引用外部存储系统中的数据集 示例1:并行化集合 val rdd = sc.parallelize(Array(1,2,3,2,3,2,5)) 示例2:引用外部文件 val file = sc.textFi…
在学Spark之前,我们再回顾一下MapReduce的知识,这对我们理解Spark大有裨益. 在大数据的技术分层中,Spark和MapReduce同为计算层的批处理技术,但是Spark比MapReduce要快很多.看看官网是怎么说的Apache Spark. 简介 Apache Spark是一个统一的大规模数据处理分析引擎.它提供基于Java,Scala, Python和R语言的高级api,并且自动优化执行流程.它还支持丰富的高级工具,包括用于处理结构化数据的Spark SQL,用于机器学习的M…