我使用的是python,而不是scala。因此,我当前的输出是一个数据帧,如下所示:
+--------+-----+
| tag|count|
+--------+-----+
|Apple | 1233|
+--------+-----+
我只想让它看起来像这样,在标准输出上:
Apple, 1233
以下是返回以下内容的查询的代码:
hashtags = allTags.select(explode(split(allTags['Hashtags'],",")).alias("tag"))
hashTagCount = hashtags.groupBy("tag").count().orderBy(col("count").desc()).limit(1)
query = hashTagCount.writeStream.outputMode("complete").format("console").start()
我该如何继续实现这种格式的输出。谢谢。
发布于 2019-10-23 09:17:15
我只是尝试使用str函数并打印输出。
from pyspark.sql import Row
from pyspark.sql.functions import *
l = [('Ankit',25),('Jalfaizy',22),('Suresh',20),('Bala',26)]
rdd = sc.parallelize(l)
people = rdd.map(lambda x: Row(name=x[0], age=int(x[1])))
schemaPeople = spark.createDataFrame(people)
schemaPeople.show(10, False)
for row in schemaPeople.rdd.collect():
text = str(row.name) + ", " + str(row.age)
print(text)
输出:
+---+--------+
|age|name |
+---+--------+
|25 |Ankit |
|22 |Jalfaizy|
|20 |Suresh |
|26 |Bala |
+---+--------+
Ankit, 25
Jalfaizy, 22
Suresh, 20
Bala, 26
如果您的要求不同,请务必让我知道。
https://stackoverflow.com/questions/58517681
复制