2 大数据实战系列-spark shell wordcount
来源:互联网 发布:淘宝客销量有权重吗 编辑:程序博客网 时间:2024/06/05 14:41
1 启动spark shell
cd /home/data/app/hadoop/spark-2.1.1-bin-hadoop2.7/bin./spark-shell --master spark://shulaibao2:7077 --executor-memory 512m --driver-memory 4540m
初始化sc->SparkContext spark->SparkSession
2 创建hdfs数据源
- 2.1创建hdfs文件夹
Hadoop fs - mkdir -p /home/hadoop/upload/test
- 2.2 上传数据源到hdfs
Hadoop fs -put /home/data/app/hadoop/hadoop-2.8.0/etc/hadoop/core-site.xml /home/hadoop/upload/test
- 2.3 验证hdfs文件列表
Hadoop fs -ls /home/hadoop/upload/test
3 wordcount
Scala-> spark shell:
scala>val rdd=sc.textFile("hdfs://shulaibao2:9010/home/hadoop/upload/test/core-site.xml")scala>rdd.cache()scala>val wordcount=rdd.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_)scala>wordcount.take(10)scala>val wordsort=wordcount.map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1))scala>wordsort.take(10)
Python -> spark submit:
spark = SparkSession.builder.appName("WordCountAPP").getOrCreate() lines = spark.read.text(sys.argv[1]).rdd.map(lambda r: r[0]) print(lines.collect()) counts = lines.flatMap(lambda x: x.split(' ')).map(lambda x: (x, 1)).reduceByKey(add) output = counts.collect() for (word, count) in output: print("%s: %i" % (word, count)) spark.stop()
java version:
备注:楼主也是java程序员,但使用sprak确实不适合使用java开发。
例如:
List<Tuple2<String, Integer>> output = counts.collect(); for (Tuple2<?,?> tuple : output) { System.out.println(tuple._1() + ": " + tuple._2());}
- 元组、列表都是scala封装jar不容易抓到本质的数据结构
- Java做数据分析代码冗长_.split(” “)或者lambda函数,java需要实现FlatMapFunction接口
阅读全文
0 0
- 2 大数据实战系列-spark shell wordcount
- 3 大数据实战系列-spark shell分析日志
- 大数据Spark:动手写WordCount
- 1 大数据实战系列-spark+hadoop集成环境搭建
- 07-天亮大数据系列教程之streaming运行流程与shell实现wordcount
- 大数据---spark系列--DateFrame
- 倾情大奉送--Spark入门实战系列
- 倾情大奉送--Spark入门实战系列
- 倾情大奉送--Spark入门实战系列
- 倾情大奉送--Spark入门实战系列
- 倾情大奉送--Spark入门实战系列
- 倾情大奉送--Spark入门实战系列
- 倾情大奉送--Spark入门实战系列
- 倾情大奉送--Spark入门实战系列
- Spark实战演练:WordCount实例
- 大数据Spark实战高手之路---熟练的掌握Scala语言系列课程
- 6大数据实战系列-sparkSql实战
- 大数据之路-WordCount系列-1-问题
- 学以致用——英文姓名高词频分析-使用Excel制作高频词标签云(VBA)
- Spring JDBC-NamedParameterJdbcTemplate模板类
- C语言中插入汇编nop指令
- java中如何将String类型的日期格式为yyyyMMdd转化为date类型的yyyy-MM-dd格式
- [linux] 自动ssh登录
- 2 大数据实战系列-spark shell wordcount
- PAT 甲级 1051. Pop Sequence (25)
- Solr -- 查询语法/参数
- codeforces 514A
- [linux] ssh 防超时设置
- Java后台框架篇--Spring的三种配置方式
- Rust: codewars 的Duplicate Encoder
- JAVA网络编程--1
- 阿里云高级技术专家带你揭秘短视频解决方案