计算圆周率

[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学习的更多相关文章

  1. 【福利】送Spark大数据平台视频学习资料

    没有套路真的是送!! 大家都知道,大数据行业spark很重要,那话我就不多说了,贴心的大叔给你找了份spark的资料.   多啰嗦两句,一个好的程序猿的基本素养是学习能力和自驱力.视频给了你们,能不能 ...

  2. 【互动问答分享】第8期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    “决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第8期互动问答分享] Q1:spark线上用什么版本好? 建议从最低使用的Spark 1.0.0版本,Spark在1.0.0开始核心 ...

  3. 【互动问答分享】第15期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    "决胜云计算大数据时代" Spark亚太研究院100期公益大讲堂 [第15期互动问答分享] Q1:AppClient和worker.master之间的关系是什么? AppClien ...

  4. 【互动问答分享】第13期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    “决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第13期互动问答分享] Q1:tachyon+spark框架现在有很多大公司在使用吧? Yahoo!已经在长期大规模使用: 国内也有 ...

  5. 【互动问答分享】第10期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    “决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第10期互动问答分享] Q1:Spark on Yarn的运行方式是什么? Spark on Yarn的运行方式有两种:Client ...

  6. 【互动问答分享】第7期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    “决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第7期互动问答分享] Q1:Spark中的RDD到底是什么? RDD是Spark的核心抽象,可以把RDD看做“分布式函数编程语言”. ...

  7. 【互动问答分享】第6期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    “决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第6期互动问答分享] Q1:spark streaming 可以不同数据流 join吗? Spark Streaming不同的数据流 ...

  8. 【大数据】Hive学习笔记

    第1章 Hive基本概念 1.1 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表, ...

  9. 大数据-spark-hbase-hive等学习视频资料

    不错的大数据spark学习资料,连接过期在评论区评论,再给你分享 https://pan.baidu.com/s/1ts6RNuFpsnc39tL3jetTkg

  10. 想转行大数据,开始学习 Hadoop?

    学习大数据首先要了解大数据的学习路线,首先搞清楚先学什么,再学什么,大的学习框架知道了,剩下的就是一步一个脚印踏踏实实从最基础的开始学起. 这里给大家普及一下学习路线:hadoop生态圈——Strom ...

随机推荐

  1. WinForm 公共控件和属性

    Button  按钮 布局 AutoSize 内容超出部分是否扩展到适应尺寸大小 Location  位置坐标 Size   控件大小 行为 Enabled   控件是否启用 visible   控件 ...

  2. Postgres 9.11 网络地址类型函数和操作符

    9.11. 网络地址类型函数和操作符 Table 9-31 显示了可以用于 cidr 和 inet 的操作符. 操作符 <<,<<= >>,和 >>= ...

  3. 拷贝文件至U盘——提示:对于目标系统文件过大

    一.问题描述: 在制作U盘启动工具的时候,通常制作出的U盘文件系统是FAT32,但是当需要拷贝进去的系统文件大小超过4GB时,就会提示上述问题 二.解决办法: 1.格式化U盘,在格式化界面“文件系统” ...

  4. windows10下安装TensorFlow Object Detection API

    由于官方的文件都是在乌班图和mac系统下的,就上网搜了以下. 按照下边这个博客安装成功了 https://blog.csdn.net/qq_28019591/article/details/82023 ...

  5. DIV在另一个DIV里面垂直居中,水平居中

    HTML: <div class="parent"> <div class="children"> <div class=&quo ...

  6. [神经网络]一步一步使用Mobile-Net完成视觉识别(四)

    1.环境配置 2.数据集获取 3.训练集获取 4.训练 5.调用测试训练结果 6.代码讲解 本文是第四篇,下载预训练模型并训练自己的数据集. 前面我们配置好了labelmap,下面我们开始下载训练好的 ...

  7. Python正则表达式计算器流程图

  8. Virt-install用法:

       #一般选项:指定虚拟机的名称.内存大小.VCPU个数及特性等 -n  NAME,  --name=NAME:虚拟机名称,需全局惟一: -r  MEMORY,  --ram=MEMORY:虚拟机内 ...

  9. c++ 指针数组,输入4个季度的花费,计算出总花费

    #include <iostream> #include <array> #include <string> const int Seasons = 4; cons ...

  10. 03大端和小端(Big endian and Little endian)

    1.大端和小端的问题 ​ 对于整型.长整型等数据类型,Big endian 认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节),而 Little endian 则相反 ...