2020/07/07 -
-
机器学习库的版本问题
在《Learning Spark》的学习过程中,有一个问题其实挺关键的,就是版本问题,这个问题就导致虽然你能学到核心的概念,但是有些操作实践已经得不到满足了。在机器学习的库中就存在这个问题,书上的版本是mllib,这个是面向RDD的机器学习api;但是新版中是面向DataFrame的api,ml库。 -
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
- agg与groupBy[1]
本质上,agg就是不分组聚合,相当于使用groupBy()空参数
网友评论