【发布时间】:2017-11-03 00:49:54
【问题描述】:
我在 PySpark 中有一个名为 df 的数据框。我已将此df 注册为temptable,如下所示。
df.registerTempTable('mytempTable')
date=datetime.now().strftime('%Y-%m-%d %H:%M:%S')
现在我将从这个临时表中获得某些值,例如 id 列的 max_id
min_id = sqlContext.sql("select nvl(min(id),0) as minval from mytempTable").collect()[0].asDict()['minval']
max_id = sqlContext.sql("select nvl(max(id),0) as maxval from mytempTable").collect()[0].asDict()['maxval']
现在我将收集所有这些值,如下所示。
test = ("{},{},{}".format(date,min_id,max_id))
我发现test 不是data frame,而是str 字符串
>>> type(test)
<type 'str'>
现在我想将此test 保存为HDFS 中的文件。我还想将数据附加到hdfs 中的同一文件中。
如何使用 PySpark 做到这一点?
仅供参考,我使用的是 Spark 1.6,无法访问 Databricks spark-csv 包。
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql hdfs