Spark使用过程的个人经验

2020/07/07 -

  1. 机器学习库的版本问题
    在《Learning Spark》的学习过程中,有一个问题其实挺关键的,就是版本问题,这个问题就导致虽然你能学到核心的概念,但是有些操作实践已经得不到满足了。在机器学习的库中就存在这个问题,书上的版本是mllib,这个是面向RDD的机器学习api;但是新版中是面向DataFrame的api,ml库。

  2. sparkcontext的问题
    sparkcontext是之前版本使用的与spark(driver?manager?)交互的变量,后续版本中,应该使用sparkSession,这个更方便,我看还能支持读取csv文件等。但是这个东西应该怎么创建呢?我老版的程序是传递sc来获取sparksession。看看新版直接生成的方法。

#获取sparkSession的方法
from pyspark.sql import SparkSession
def get_spark_session(app_name = None, master = "spark://master:7077"):
    spark = SparkSession.builder\
        .master(master) \
        .appName(app_name) \
        .config("ui.showConsoleProgress","true") \
        .config("spark.executor.cores","3") \
        .config("spark.executor.memory","10G") \
        .getOrCreate()
    return spark

#获取sparkContext的方法
from pyspark import SparkConf,SparkContext
def get_spark_context(app_name = None, master = "spark://master:7077"):
    
    conf = SparkConf().setMaster(master).setAppName(app_name)
    conf.set("ui.showConsoleProgress","true")
    conf.set("spark.executor.cores","3")
    conf.set("spark.executor.memory","10G")
    
    sc = SparkContext(conf = conf)
    print(conf.getAll())
    return sc

##从已存在sparkContext的获取sparkSession
##spark = SparkSession(sc)

3. 读取CSV

  1. agg与groupBy[1]
    本质上,agg就是不分组聚合,相当于使用groupBy()空参数

参考文章

[1]spark sql的agg函数,作用:在整体DataFrame不分组聚合

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值