![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pyspark
mvpboss1004
这个作者很懒,什么都没留下…
展开
-
pandas的DataFrame转spark时空值问题
pandas生成DataFrame时,Series为数值类型则会把空值视为NaN。而spark在处理NaN时并不视为Null,有可能会导致问题。例如:>>> pdf = pd.DataFrame([(0,‘Alice’,1.1),(1,‘Bob’,None),(2,None,3.3)], columns=(‘id’,‘name’,‘score’))>>> sdf = spark.createDataFrame(pdf)>>> sdf.show()原创 2020-11-09 12:49:57 · 686 阅读 · 0 评论 -
spark.jars.packages使用镜像源加速
我们知道,通过指定spark.jars.packages参数,可以添加依赖的包。而且相比于用spark.jars直接指定jar文件路径,前者还可以自动下载所需依赖,在有网络的情况下非常方便。然而默认情况下spark会到maven的中央仓库进行下载,速度非常慢。我们可以使用国内的镜像源进行加速。以华为云镜像为例。1. 指定ivy2配置文件路径spark是通过ivy2进行包下载的,而其配置文件默认打包在了$SPARK_HOME/jars/ivy-2.4.0.jar里,因此无法修改。我们通过spark配置来原创 2020-11-09 12:25:46 · 2534 阅读 · 0 评论 -
DataFrame保存为hive表时的换行符问题
pyspark的DataFrame,在直接保存为hive表时,如果字符串中带有换行符,会导致换行错误。以spark 3.0.0版本为例。我们向hive表保存1条包含换行符字符串的数据,统计行数时却得到2行:>>> df = spark.createDataFrame([(1,‘hello\nworld’)], (‘id’,‘msg’))>>> df.write.format(‘hive’).saveAsTable(‘test.newline0’)>>&原创 2020-11-09 12:24:31 · 1347 阅读 · 0 评论