Spark简单案例使用-03

该算法是利用蒙特•卡罗算法求PI

bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://hadoop-senior01.buba.com:7077 examples/jars/spark-examples_2.11-2.1.1.jar 100

bin/spark-submit   为提交一个任务命令

--class org.apache.spark.examples.SparkPi     调用jar包里的这个类

--master spark://hadoop-senior01.buba.com:7077    spark的主机地址

examples/jars/spark-examples_2.11-2.1.1.jar    jar包的位置

100    这个是类里main方法传的参数

还可以加入下面两个参数

--executor-memory 1G    指定每个executor可用内存为1G

--total-executor-cores 2     指定每个executor使用的cup核数为2个

输出结果如下

bin/spark-submit可以查看所有的参数

在执行过程中可以看到打印了很多的日志,很不方便,按照如下修改可以解决

先复制一份log配置文件

然后编辑它,把INFO修改为WARN,就可以了,然后执行一遍就日志少了.

使用Spark Shell 执行world count 案例

启动Spark Shell
spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序。
启动Spark shell
bin/spark-shell  --master spark://master01:7077  --executor-memory 2g  --total-executor-cores 2
注意:
如果启动spark shell时没有指定master地址,但是也可以正常启动spark shell和执行spark shell中的程序,其实是启动了spark的cluster模式,如果spark是单节点,并且没有指定slave文件,这个时候如果打开spark-shell 默认是local模式
Local模式是master和worker在同同一进程内
Cluster模式是master和worker在不同进程内 

 

先自己创建个文件写一些单词,上传到hdfs上去.

Spark Shell中已经默认将SparkContext类初始化为对象sc。用户代码如果需要用到,则直接应用sc即可,它是整个spark集群的入口.

下面这是使用的scala语言

 sc.textFile("hdfs://hadoop-senior01.buba.com:8020/test.txt")读取test.txt文件

.flatMap(_.split(" ")) 把没行按空格分开的单词都放到map里面

.map((_,1)) 把没个值都计数为1

.reduceByKey(_+_)  把相同key的值加起来

).saveAsTextFile("hdfs://hadoop-senior01.buba.com:8020/out") 结果输出到这个地址

sc.textFile("hdfs://hadoop-senior01.buba.com:8020/test.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://hadoop-senior01.buba.com:8020/out")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值