- 博客(4)
- 资源 (4)
- 收藏
- 关注
原创 spark中递归join一系列dataframe
代码如下:def join_dfs(df_list,key=['id']): if len(df_list) == 1: retirm df_list[0] def join_df(df1,df2,key=['id']): return df1.join(df2, key) return reduce(join_df, df_list)def join_df_recursive(df_list, key=['id']): len_df = len(df_list) if len_df
2020-05-21 13:14:12 1033
原创 注意pyspark中替换nan值的问题
在PySpark中,NaN与Null不同。 两者都与空字符串“”不同,因此,可能需要在所有数据集特定填充值的基础上检查每个字符。本来想使用df.replace(float('nan'),None)将dataframe中的 nan 值全部转化为空,但是测试下来发现,这个函数在spark中除了会将 nan替换掉,还会将 0 也替换成空(此处是int(0),0.0不受影响),因此,要注意。最后,还是建议用isnan来判断然后替换:import pyspark.sql.functions as Fdf .
2020-05-21 09:42:18 2531
原创 pyspark中获取dataframe的大小
代码如下:from pyspark.serializers import PickleSerializer, AutoBatchedSerializerdef _to_java_obj_rdd(df): rdd=df.rdd._reserialise(AutoBatchedSerializer(PickleSerializer())) return rdd.ctx._jvm.org.apache.spark.mllib.api.python.Serde.pythonToJava(rdd._jrdd
2020-05-19 19:40:42 5779
原创 Hive中使用parquet
如何创建parquet外部表CREATE EXTERNAL TABLE IF NOT EXISTS XXXX (...)STORED AS PARQUETLOCATION '/data/hive/xxxx'TBLPROPERTIES ('parquet.compression'='SNAPPY')Parquet字段定义与Hive表中字段的关系如果hive表定义的字段包含且大于parquet文件字段,则parquet文件不存在的字段被查询为NULLparquet文件可以包含hive表定义
2020-05-19 14:27:16 1876
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人