spark 常见"便签"

变量传参:
1,在 spark 编写的程序之中是没有全局变量的,是因为在 driver设置的全局变量,在 execute 可以使用,但是不会返回给driver,除非使用累加器
2,累加器只能在 driver端进行使用,因为它是来自于 sc(只存在于 driver)
package day01
import org.apache.spark.{Accumulator, SparkConf, SparkContext}
object Add_num {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local").setAppName("ADD_NUM")
    val sc = new SparkContext(conf)
    val rdd = sc.textFile("./1.txt")
    val rdd2 = sc.textFile("./1.txt")
    var num = 0
    var accumulator:Accumulator[Int] =sc.accumulator(0)
    val rdd_1 =rdd.map(line=>{
      num += 1
      line
    })
    rdd_1.collect()
    println(num) // num = 0
    val rdd2_1 = rdd2.map(line=>{
      accumulator.add(1)
      println(accumulator)// 在 execute 获取不需要使用 value
      line
    })
    rdd2_1.collect()
    println(accumulator.value) // 5  accumulator累加器全局统筹变量
  }}
spark Dataframe:
1, Dataframe 是一个分布式数据容器,有数据与数据的结构信息组成(schema)
2, Dataframe API 提供一套高层的关系操作,比函数式的 RDD API更加友好
3, Dataframe 底层是 Row RDD, 这也是为什么 Dataframe可以与 RDD相互转换的原因

spark 集群支持log 记录(主从一致)
1,spark 支持事件日志写入某个目录,并且可以日志压缩
2,日志是 application 日志,只不过存储在了 hdsf 之中
# 开启 log ,并且配置 log 路径
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master:9000/spark/logs
# 配置历史服务器路径(spark 重启也可以看到历史记录)
spark.history.fs.logDirectory    hdfs://master:9000/spark/logs
# 使用此参数指定log压缩(snappy 压缩格式)
spark.eventLog.compress          true
可以开启一个端口来查看历史服务(spark-defaults.conf),需要指定配置的历史记录所对应的hdfs 位置
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=7777 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://master:9000/spark/logs"
启动历史服务器(进程 HistoryServer ), 只有查看历史的作用,对设定的历史路径(hdfs)进行展示
./sbin/start-history-server.sh
spark 集群构建(主从一致)
  1,修改Spark配置文件spark-env.sh
    #指定 master 地址与 ip 和 JAVA_HOME
    SPARK_MASTER_PORT=7077
    SPARK_MASTER_IP=sr128
    export JAVA_HOME=/usr/local/java/jdk-11.0.2
  2,slaves文件中加入所有Work的地址
  slave1
  slave2
  slave3

 

转载于:https://www.cnblogs.com/shi-qi/articles/10798794.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值