小编Kee*_*pan的帖子

PySpark 毫秒的时间戳

我试图获得两个时间戳列之间的差异,但毫秒数消失了。

如何纠正这个?

from pyspark.sql.functions import unix_timestamp
timeFmt = "yyyy-MM-dd' 'HH:mm:ss.SSS"

data = [
    (1, '2018-07-25 17:15:06.39','2018-07-25 17:15:06.377'),
    (2,'2018-07-25 11:12:49.317','2018-07-25 11:12:48.883')

]

df = spark.createDataFrame(data, ['ID', 'max_ts','min_ts']).withColumn('diff',F.unix_timestamp('max_ts', format=timeFmt) - F.unix_timestamp('min_ts', format=timeFmt))
df.show(truncate = False)
Run Code Online (Sandbox Code Playgroud)

pyspark

5
推荐指数
2
解决办法
1万
查看次数

Jupyter Notebook 中的 Spark Streaming waitTermination

我正在遵循 Apache Spark Definitive Guide 中的代码。我遇到了一个问题,当我有注释的代码行“awaitTermination()”时,以下代码不会在 Jupyter Notebook 中打印结果。由于代码中包含“awaitTermination()”,Jupyter 内核很忙,并且可能会无限期地长时间保持忙碌状态。

如果没有“awaitTermination”,代码可以正常工作。

有人可以解释这种行为吗?我怎样才能克服这个问题?

static = spark.read.json(r"/resources/activity-data/")
dataSchema = static.schema
streaming = (spark
             .readStream
             .schema(dataSchema)
             .option("maxFilesPerTrigger", 1)
             .json(r"/resources/activity-data/")
            )
activityCounts = streaming.groupBy("gt").count()
spark.conf.set("spark.sql.shuffle.partitions", 5)
activityQuery = (activityCounts
                 .writeStream
                 .queryName("activity_counts")
                 .format("memory")
                 .outputMode("complete")
                 .start()
                )
#activityQuery.awaitTermination()
#activityQuery.stop()
from time import sleep
for x in range(5):
    spark.table("activity_counts").show()
    sleep(1)
Run Code Online (Sandbox Code Playgroud)

apache-spark spark-streaming pyspark

3
推荐指数
1
解决办法
5287
查看次数

将Python列表解析为Pandas DataFrame

我有一个数组,其值由'|'分隔.我想把它解析成一个pandas数据框.

import pandas as pd    
arr = ['19345360853|5264654|100530|2017-01-07', '19345360853|13518371|100530|2018-10-08']
pd.DataFrame([{'Id': item.split('|')[0] ,'Code_A': item.split('|')[1] , 'Code_B': item.split('|')[2],'Reg_Date': item.split('|')[3]} for item in arr ])
Run Code Online (Sandbox Code Playgroud)

我希望pandas数据帧在以下模式中,

'Id'字符串'Code_A'字符串'Code_B'字符串'Reg_Date'日期

因此产生的Pandas数据帧将与此类似. 结果数据框

任何帮助表示赞赏.

python arrays pandas

1
推荐指数
1
解决办法
194
查看次数

标签 统计

pyspark ×2

apache-spark ×1

arrays ×1

pandas ×1

python ×1

spark-streaming ×1