大数据学习——spark学习
计算圆周率
[root@mini1 bin]# ./run-example SparkPi
[root@mini1 bin]# ./run-example SparkPi
[root@mini1 bin]# ./run-example SparkPi
运行spark-shell的两种方式:
1直接运行spark-shell
单机通过多线程跑任务,只运行一个进程叫submit
2运行spark-shell --master spark://mini1:7077
将任务运行在集群中,运行submit在master上,运行executor在worker上
启动
[root@mini1 bin]# ./spark-shell
hdfs
hadoop/sbin/start-dfs.sh
计算wordcount
sc.textFile("/root/words.txt").flatMap(_.split(" ")).map((_,)).reduceByKey(_+_).collect
升序,降序排列
mapReduce执行流程
从hdfs采集数据
上传文件 hdfs dfs -put words.txt /
sc.textFile("hdfs://mini1:9000/words.txt").flatMap(_.split(" ")).map((_,)).reduceByKey(_+_).sortBy(_._2,false).collect
通过spark的api写wordcount
本地运行
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext} /**
* Created by Administrator on 2019/6/11.
*/
object WordCount extends App {
//创建conf,设置应用的名字和运行的方式,local[2]运行2线程,产生两个文件结果 val conf = new SparkConf().setAppName("wordcount").setMaster("local[2]") //创建sparkcontext
val sc = new SparkContext(conf) val file: RDD[String] = sc.textFile("hdfs://mini1:9000/words.txt")
val words: RDD[String] = file.flatMap(_.split(" "))
//压平,分割每一行数据为每个单词
val tuple: RDD[(String, Int)] = words.map((_, 1))
//将单词转换为(单词,1)
val result: RDD[(String, Int)] = tuple.reduceByKey(_ + _)
//将相同的key进行汇总聚合
val resultSort: RDD[(String, Int)] = result.sortBy(_._2, false) //排序
// result.collect() //在命令行打印
resultSort.foreach(println) }
集群运行
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext} /**
* Created by Administrator on 2019/6/11.
*/
object WordCount {
def main(args: Array[String]) { //创建conf,设置应用的名字和运行的方式,local[2]运行2线程,产生两个文件结果
//.setMaster("local[1]")采用1个线程,在本地模拟spark运行模式
val conf = new SparkConf().setAppName("wordcount") //创建sparkcontext
val sc = new SparkContext(conf) val file: RDD[String] = sc.textFile("hdfs://mini1:9000/words.txt")
val words: RDD[String] = file.flatMap(_.split(" "))
//压平,分割每一行数据为每个单词
val tuple: RDD[(String, Int)] = words.map((_, 1))
//将单词转换为(单词,1)
val result: RDD[(String, Int)] = tuple.reduceByKey(_ + _)
//将相同的key进行汇总聚合
val resultSort: RDD[(String, Int)] = result.sortBy(_._2, false) //排序
resultSort.saveAsTextFile(args(1)) } }
打包
把该代码包传到任意一台装有spark的机器上
我上传到了bin下
提交
[root@mini1 bin]# ./spark-submit --help
#开始加了这两个参数 导致一直运行失败,链接超时,还去问了初夏老师
[root@mini1 bin]# ./spark-submit --master spark://mini1:7077--class com.cyf.WordCount --executor-memory 200M --total-executor-cores 1 original-spark_6_01-1.0-SNAPSHOT.jar hdfs://mini1:9000/words.txt hdfs://mini1:9000/ceshi/wordcountcluster
[root@mini1 bin]#./spark-submit --master spark://mini1:7077 --class com.cyf.WordCount original-spark_6_01-1.0-SNAPSHOT.jar hdfs://mini1:9000/words.txt hdfs://mini1:9000/ceshi/wordcountcluster
开始加上边两个参数运行,一直报连接超时的错误
后来把参数去掉,运行成功了
python
wo.py
#!/usr/bin/python from pyspark import SparkContext, SparkConf conf = SparkConf().setAppName("aaa").setMaster("spark://mini1:7077")
sc = SparkContext(conf=conf)
data = ["tom", "lilei", "tom", "lilei", "wangsf"]
rdd = sc.parallelize(data).map(lambda x: (x, )).reduceByKey(lambda a, b: a + b).saveAsTextFile("hdfs://mini1:9000/ceshi/python2")
上传,运行
[root@mini1 bin]# ./spark-submit wo.py
大数据学习——spark学习的更多相关文章
- 【福利】送Spark大数据平台视频学习资料
没有套路真的是送!! 大家都知道,大数据行业spark很重要,那话我就不多说了,贴心的大叔给你找了份spark的资料. 多啰嗦两句,一个好的程序猿的基本素养是学习能力和自驱力.视频给了你们,能不能 ...
- 【互动问答分享】第8期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第8期互动问答分享] Q1:spark线上用什么版本好? 建议从最低使用的Spark 1.0.0版本,Spark在1.0.0开始核心 ...
- 【互动问答分享】第15期决胜云计算大数据时代Spark亚太研究院公益大讲堂
"决胜云计算大数据时代" Spark亚太研究院100期公益大讲堂 [第15期互动问答分享] Q1:AppClient和worker.master之间的关系是什么? AppClien ...
- 【互动问答分享】第13期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第13期互动问答分享] Q1:tachyon+spark框架现在有很多大公司在使用吧? Yahoo!已经在长期大规模使用: 国内也有 ...
- 【互动问答分享】第10期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第10期互动问答分享] Q1:Spark on Yarn的运行方式是什么? Spark on Yarn的运行方式有两种:Client ...
- 【互动问答分享】第7期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第7期互动问答分享] Q1:Spark中的RDD到底是什么? RDD是Spark的核心抽象,可以把RDD看做“分布式函数编程语言”. ...
- 【互动问答分享】第6期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第6期互动问答分享] Q1:spark streaming 可以不同数据流 join吗? Spark Streaming不同的数据流 ...
- 【大数据】Hive学习笔记
第1章 Hive基本概念 1.1 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表, ...
- 大数据-spark-hbase-hive等学习视频资料
不错的大数据spark学习资料,连接过期在评论区评论,再给你分享 https://pan.baidu.com/s/1ts6RNuFpsnc39tL3jetTkg
- 想转行大数据,开始学习 Hadoop?
学习大数据首先要了解大数据的学习路线,首先搞清楚先学什么,再学什么,大的学习框架知道了,剩下的就是一步一个脚印踏踏实实从最基础的开始学起. 这里给大家普及一下学习路线:hadoop生态圈——Strom ...
随机推荐
- js监听页面的scroll事件,当移到底部时触发事件
//页面拉到底时自动加载更多 $(window).scroll(function(event){ var wScrollY = window.scrollY; // 当前滚动条位置 var wInne ...
- Generator 和 函数异步应用 笔记
Generator > ES6 提供的一种异步编程解决方案 > Generator 函数是一个状态机,封装了多个内部状态.还是一个遍历器对象生成函数.返回<label>遍历器对 ...
- Android里的网格空隙
在很多移动端或者web端开发中我们会遇到很多网格布局,如果我们使用线性布局来实现一些简单的网格布局就需要使用padding/margin等属性来使其对齐,代码如下: <LinearLayout ...
- JavaScript中三种字符串连接方式及其性能比较
参考地址: https://www.cnblogs.com/programs/p/5554742.html 工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方 ...
- HDU - 5491 The Next 2015 ACM/ICPC Asia Regional Hefei Online
从D+1开始,对于一个数x,区间[x,x+lowbit(x))内的数字的二进制位上1的数量整体来说是单调不减的,因此可快速得出1在这个区间的取值范围. 每次判断一下有没有和[s1,s2]有没有交集,一 ...
- UVA 211 The Domino Effect 多米诺效应 (回溯)
骨牌无非两种放法,横着或竖着放,每次检查最r,c最小的没访问过的点即可.如果不能放就回溯. 最外面加一层认为已经访问过的位置,方便判断. #include<bits/stdc++.h> ; ...
- EditPlus 3.7激活码注册码
EditPlus3.7激活教程以及EditPlus3.7激活码使用方法 EditPlus是一款功能齐全的文字编辑器,搭配其他的插件还可以实现很多的功能,还可以编辑和编译Java,调试程序等,主要用来打 ...
- python_96_类的继承1
#面向对象3大特性:封装,多态,继承 # 继承可节省内存,减少代码 class People(): def __init__(self,name,age): self.Name=name self.A ...
- C#数组排序方法
在C#中常用的数组排序的方法有:选择排序法.冒泡排序法.插入排序法和希尔排序法等. 一.选择排序法 using System;using System.Collections.Generic;usin ...
- mysql5.7.24 解压版安装步骤以及遇到的问题
1.下载 https://dev.mysql.com/downloads/mysql/ 2.解压到固定位置,如D:\MySQL\mysql-5.7.24 3.添加my.ini文件 跟bin同级 [my ...