美文网首页Spark学习
Spark使用过程的个人经验

Spark使用过程的个人经验

作者: VChao | 来源:发表于2020-07-07 10:16 被阅读0次

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不分组聚合

相关文章

网友评论

    本文标题:Spark使用过程的个人经验

    本文链接:https://www.haomeiwen.com/subject/qexaqktx.html