Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何以逗号分隔的形式显示spark流作业的数据帧输出?_Apache Spark_Pyspark_Pyspark Sql_Pyspark Dataframes - Fatal编程技术网

Apache spark 如何以逗号分隔的形式显示spark流作业的数据帧输出?

Apache spark 如何以逗号分隔的形式显示spark流作业的数据帧输出?,apache-spark,pyspark,pyspark-sql,pyspark-dataframes,Apache Spark,Pyspark,Pyspark Sql,Pyspark Dataframes,我使用的是python,而不是scala。 因此,我的当前输出,即数据帧,如下所示: +--------+-----+ | tag|count| +--------+-----+ |Apple | 1233| +--------+-----+ 我只想让它看起来像这样,在标准上: Apple, 1233 这是返回以下内容的查询的代码: hashtags = allTags.select(explode(split(allTags['Hashtags'],",")).alias("t

我使用的是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()
我将如何继续实现这种输出格式。
谢谢。

刚刚尝试使用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

如果您的要求不同,请务必告诉我。

这正是我想要的,但当我尝试在代码中的任何位置执行.collect()时,总是会导致一个错误,即:必须使用writeStream.start()执行流源查询;。我如何解决这个问题?你能用错误和代码来回答一个新问题吗?