spark/scala常用语法

SparkContext

每一个Spark应用都是一个SparkContext实例,可以理解为一个SparkContext就是一个spark application的生命周期,一旦SparkContext创建之后,就可以用这个SparkContext来创建RDD、累加器、广播变量,并且可以通过SparkContext访问Spark的服务,运行任务。spark context设置内部服务,并建立与spark执行环境的连接。

spark.sparkContext.textFile(path)

textFile的参数是一个path,这个path可以是:

  1. 一个文件路径,这时候只装载指定的文件
  2. 一个目录路径,这时候只装载指定目录下面的所有文件(不包括子目录下面的文件)
  3. 通过通配符的形式加载多个文件或者加载多个目录下面的所有文件

RDD

https://zhuanlan.zhihu.com/p/129346816

rdd转list:
rdd2list=rdd.collect().toList
list转rdd:
list2rdd=sc.parallelize(rdd2list)

map/flatmap

https://blog.csdn.net/u010824591/article/details/50732996

reduceByKey和groupByKey

https://blog.csdn.net/u010476994/article/details/91406745

Idea打包:scala打成jar包

打开maven project,点击项目名称,先后双击clean和package,就会自动进行打包了。
打包完成后,进入项目的target中进行查看,选用对应jar包,即可在spark集群上执行。

conf常见参数设置

--conf spark.yarn.executor.memoryOverhead=10240  --conf spark.shuffle.io.numConnectionsPerPeer=5  --conf spark.driver.maxResultSize=30g --conf spark.kryoserializer.buffer.max=128m --conf spark.port.maxRetries=128

breakable

for循环外使用相当于break,循环内使用相当于continue

saveAsTextFile

应用时,首先应删除对应的文件夹

hadoop fs -rm -r 文件夹路径

https://blog.csdn.net/power0405hf/article/details/50596233

查看文件

hadoop fs -cat  文件路径 |more 

保存到本地

hadoop fs -cat  文件路径/* >本地路径

spark获取hive表字段并保存

var savePath = "hdfs路径"
val sc: SparkContext = new SparkContext(new SparkConf())
sc.setLogLevel("WARN")
val sqlContext: HiveContext = new HiveContext(sc)
//获取实例,从hive表读取数据
var dataSql =
s"""
   sql语句
 """.stripMargin
val sentences=sqlContext.sql(dataSql).rdd.map(t=>t.getString(0))
// 保存数据
sentences.saveAsTextFile(savePath)

注:规范做法是和git相关联

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值