【问题标题】:Sql query to pyspark dataframe function对 pyspark 数据框函数的 Sql 查询
【发布时间】:2022-01-02 00:31:40
【问题描述】:

我想使用 pyspark DataFrame 函数而不是 SQL 查询来复制以下代码。

spark.sql("select date from walmart_stock order by high desc limit 1").show()

Link of dataset

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    如果您从链接的 CSV 文件开始,这里是代码。您应该认识 SQL 函数。请注意,我们使用inferSchema 选项来直接将数字解析为双精度数并获得正确的顺序(默认字符串类型无法按预期工作)。另一种方法是在读取 CSV 后强制转换列。

    spark.read
        .option("header", "true")
        .option("inferSchema", "true")
        .csv("walmart_stock.csv")
        .orderBy(f.col("High"), desc=True)
        .limit(1)
        .select("Date")
        .show()
    

    产生

    +----------+
    |      Date|
    +----------+
    |2015-11-13|
    +----------+
    

    【讨论】:

    • 我创建了一个名为 walmart_stock 的表并使用它。是的,从你的代码中我得到了答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    相关资源
    最近更新 更多