如何从DataFrame检索两个数字?

时间:2018-09-09 15:53:50

标签: python apache-spark pyspark apache-spark-sql

我在PySpark中具有以下功能。

import pyspark.sql.functions as func

def get_num(self, spark, id):

    df = spark \
        .read \
        .format("org.elasticsearch.spark.sql") \
        .load("myindex") \
        .filter(func.col("id") == id) \
        .groupBy("id") \
        .agg(
                func.count(func.lit(1)).alias("number_occurrences_today"),
                func.countDistinct("host_id").alias("number_hosts")
            )

如果df为None,则该函数应返回0、0。否则,它应返回number_occurrences_today的{​​{1}}和number_hosts的值。

我该怎么办?

这是我到目前为止尝试过的:

id

0 个答案:

没有答案