【发布时间】:2017-08-11 23:20:19
【问题描述】:
如何为数据框创建一个函数来创建拼花?
创建 parquet 文件的数据框语法类似于 - (pyspark)
df.write.mode('overwrite').parquet("file_name.parquet")
为此创建一个函数,我正在尝试这种方式:
def parquet_create(df_name,file_name):
df_name.write.mode('overwrite').parquet(file_name+".parquet")
return
但是当我使用 parquet_create("abc","eee") 运行时......它失败了
AttributeError: 'str' object has no attribute 'write'
那么,我在上面初始化了一个空数据框,有没有更简洁的方法来实现同样的效果?
def parquet_create(df_name,file_name):
df_name = sqlContext.read.json("my_empty_file.parquet")
df_name = df_name.write.mode('overwrite').parquet(file_name+".parquet")
return
如果dataframe初始化超出函数怎么办?
【问题讨论】:
-
看起来您传递的是数据框的名称,而不是对象本身
-
是的,我想传递数据框的名称,并在我想创建镶木地板时使用上述函数
-
来自已经存在的数据框,还是您稍后将制作的数据框?在我看来,您不需要制作一个空的镶木地板文件,如果您已经有一个填充的数据框,则没有理由不只传入数据框对象本身
-
如果我在内部初始化df,我的代码可以工作,但是如果df在函数外部初始化如何实现呢?
-
我会试一试答案,我们可以编辑,直到我们得到看起来正确的东西
标签: python function dataframe pyspark