为了账号安全,请及时绑定邮箱和手机立即绑定

如何制作好的可重现的Apache Spark示例

如何制作好的可重现的Apache Spark示例

慕姐4208626 2019-05-27 13:06:09
如何制作好的可重现的Apache Spark示例我花了相当多的时间阅读pyspark和spark-dataframe标签的一些问题,而且我经常发现海报没有提供足够的信息来真正理解他们的问题。我经常评论要求他们发布MCVE,但有时让他们显示一些样本输入/输出数据就像拔牙一样。例如:请参阅有关此问题的评论。也许问题的一部分是人们只是不知道如何轻松地为火花数据帧创建MCVE。我认为将这个pandas问题的spark-dataframe版本作为可以链接的指南是有用的。那么如何创造一个好的,可重复的例子呢?
查看完整描述

4 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

提供可轻松重新创建的小样本数据。

至少,海报应在其数据框和代码上提供几行和列,以便轻松创建它。简单来说,我的意思是剪切和粘贴。尽可能小,以证明您的问题。


我有以下数据帧:


+-----+---+-----+----------+

|index|  X|label|      date|

+-----+---+-----+----------+

|    1|  1|    A|2017-01-01|

|    2|  3|    B|2017-01-02|

|    3|  5|    A|2017-01-03|

|    4|  7|    B|2017-01-04|

+-----+---+-----+----------+

可以使用以下代码创建:


df = sqlCtx.createDataFrame(

    [

        (1, 1, 'A', '2017-01-01'),

        (2, 3, 'B', '2017-01-02'),

        (3, 5, 'A', '2017-01-03'),

        (4, 7, 'B', '2017-01-04')

    ],

    ('index', 'X', 'label', 'date')

)

显示所需的输出。

询问您的具体问题并向我们展示您想要的输出。


如何创建一个新列 'is_divisible' 具有价值 'yes' ,如果当月的天 'date' 加7天整除值列'X',并 'no' 以其他方式?


期望的输出:


+-----+---+-----+----------+------------+

|index|  X|label|      date|is_divisible|

+-----+---+-----+----------+------------+

|    1|  1|    A|2017-01-01|         yes|

|    2|  3|    B|2017-01-02|         yes|

|    3|  5|    A|2017-01-03|         yes|

|    4|  7|    B|2017-01-04|          no|

+-----+---+-----+----------+------------+

解释如何获得输出。

详细解释如何获得所需的输出。它有助于显示示例计算。


例如,在第1行中,X = 1,日期= 2017-01-01。添加7天到目前为止2017-01-08。这个月的日期是8,因为8可以被1整除,答案是“是”。


同样,对于最后一行X = 7和日期= 2017-01-04。将7添加到日期会产生11作为该月的日期。由于11%7不是0,答案是“不”。


分享您现有的代码。

向我们展示您已完成或尝试过的内容,包括所有*代码,即使它不起作用。告诉我们您遇到的问题,如果收到错误,请提供错误消息。


(*您可以省略代码来创建spark上下文,但是您应该包括所有导入。)


我知道如何添加一个 加7天的新列,date 但是我无法将整个月的日期作为整数。


from pyspark.sql import functions as f

df.withColumn("next_week", f.date_add("date", 7))

包括版本,导入和使用语法突出显示


对于性能调优帖子,请包括执行计划


解析火花输出文件

  • MaxU此答案中提供了有用的代码,以帮助将Spark输出文件解析为DataFrame。


其他说明。


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 418 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信