将数据帧结果值保存到字符串变量?
Saving a dataframe result value to a string variable?
我在找到最大日期时在 spark 中创建了一个数据框,我想将它保存到变量中。只是想弄清楚如何获得结果,这是一个字符串,并将其保存到一个变量中。
到目前为止的代码:
sqlDF = spark.sql("SELECT MAX(date) FROM account")
sqlDF.show()
结果是什么样的:
+--------------------+
| max(date)|
+--------------------+
|2018-04-19T14:11:...|
+--------------------+
谢谢
假设 sqlDF 是一个 pandas 数据帧并且您要获取的值位于索引 0:
max_date = str(sqlDF.get_value(0, 'max(date)'))
假设您正在计算一个全局聚合(其中输出将只有一行)并且正在使用 PySpark,以下应该有效:
spark.sql("SELECT MAX(date) as maxDate FROM account").first()["maxDate"]
我相信这将 return 成为一个 datetime
对象,但您可以在驱动程序代码中将其转换为字符串或执行 SELECT CAST(MAX(DATE) as string)
。
尝试这样的事情:
from pyspark.sql.functions import max as max_
# get last partition from all deltas
alldeltas=sqlContext.read.json (alldeltasdir)
last_delta=alldeltas.agg(max_("ingest_date")).collect()[0][0]
last_delta 会给你一个值,在此示例中,数据帧中列 ingest_date 的最大值。
我在找到最大日期时在 spark 中创建了一个数据框,我想将它保存到变量中。只是想弄清楚如何获得结果,这是一个字符串,并将其保存到一个变量中。
到目前为止的代码:
sqlDF = spark.sql("SELECT MAX(date) FROM account")
sqlDF.show()
结果是什么样的:
+--------------------+
| max(date)|
+--------------------+
|2018-04-19T14:11:...|
+--------------------+
谢谢
假设 sqlDF 是一个 pandas 数据帧并且您要获取的值位于索引 0:
max_date = str(sqlDF.get_value(0, 'max(date)'))
假设您正在计算一个全局聚合(其中输出将只有一行)并且正在使用 PySpark,以下应该有效:
spark.sql("SELECT MAX(date) as maxDate FROM account").first()["maxDate"]
我相信这将 return 成为一个 datetime
对象,但您可以在驱动程序代码中将其转换为字符串或执行 SELECT CAST(MAX(DATE) as string)
。
尝试这样的事情:
from pyspark.sql.functions import max as max_
# get last partition from all deltas
alldeltas=sqlContext.read.json (alldeltasdir)
last_delta=alldeltas.agg(max_("ingest_date")).collect()[0][0]
last_delta 会给你一个值,在此示例中,数据帧中列 ingest_date 的最大值。