小编Ana*_*nan的帖子

要创建多少个 Spark Session?

我们正在 pyspark 中构建数据摄取框架。第一步是使用我们的应用程序名称获取/创建一个 SparkSession。dataLoader.py的结构概述如下。

spark = SparkSession \
            .builder \
            .appName('POC') \
            .enableHiveSupport() \
            .getOrCreate()
 #create data frame from file
 #process file 
Run Code Online (Sandbox Code Playgroud)

如果我必须同时执行此dataLoader.py来加载不同的文件,那么相同的 Spark 会话会导致问题吗?我是否必须为每次摄取创建单独的 Spark 会话?

apache-spark pyspark

5
推荐指数
1
解决办法
4468
查看次数

pyspark 中的数据类型验证

我们正在 pyspark 中构建数据摄取框架,并想知道处理数据类型异常的最佳方法是什么。基本上,我们希望有一个拒绝表来捕获所有不符合模式的数据。

stringDf = sparkSession.createDataFrame(
    [
        ("11/25/1991","1"),
        ("11/24/1991", None),
        ("11/30/1991","a")
    ], 
    ['dateAsString','intAsString']
)
Run Code Online (Sandbox Code Playgroud)

这是我stringDf的两列。

+------------+-----------+
|dateAsString|intAsString|
+------------+-----------+
|  11/25/1991|          1|
|  11/24/1991|       null|
|  11/30/1991|          a|
+------------+-----------+
Run Code Online (Sandbox Code Playgroud)

我想为数据框创建一个新列,dataTypeValidationErrors用于捕获此数据集中可能存在的所有错误。使用 pyspark 实现这一目标的最佳方法是什么?

+------------+-----------+------------------------+
|dateAsString|intAsString|dataTypeValidationErrors|
+------------+-----------+------------------------+
|  11/25/1991|          1|None                    |
|  11/24/1991|       null|None                    |
|  11/30/1991|          a|Not a valid Number      |
+------------+-----------+------------------------+
Run Code Online (Sandbox Code Playgroud)

pyspark pyspark-sql

2
推荐指数
1
解决办法
3122
查看次数

标签 统计

pyspark ×2

apache-spark ×1

pyspark-sql ×1