【问题标题】:AS or ALIAS is NOT a member of object org.apache.spark.sql.dataframereaderAS 或 ALIAS 不是对象 org.apache.spark.sql.dataframereader 的成员
【发布时间】:2022-01-24 01:36:22
【问题描述】:

我正在阅读“SPARK THE DEFINITIVE GUIDE”;这是一本学习火花的书。

我一直在尝试执行一些命令和代码,但是当我尝试使用 AS 执行命令时,我收到了一条错误消息

AS 不是对象 org.apache.spark.sql.dataframereader 的成员 ...

我不知道我是否必须导入别名函数或类似的东西,或者我错过了什么。

[val flights = flightsDF.as[Flight]]
[result ==> <console>:27: error: value as is not a member of org.apache.spark.sql.DataFrameReader
       val flights = flightsDF.as[Flight]]

Here's an image

谢谢你,祝你好运

【问题讨论】:

  • 什么是[Flight]?是案例类,那么它应该可以工作。

标签: scala apache-spark pyspark


【解决方案1】:

您似乎将DataFrameReader(一个读取并返回DataFrame 的对象)与DataFrame 本身混淆了。在阅读器上使用load 方法,这样你就有了一个DataFrame 实例。然后您可以在该实例上使用alias 或其他 DataFrame 方法。

DataFrameReader 工作原理的结构:

val df = spark.read.format("csv").option("header", "true").load(file)
                 ^    ^             ^                        ^
                 |    |             |                        the actual load action that returns a DataFrame
                 |    |             set extra options on the reader specific to the format
                 |   defines the format type to read
                 creates a DataFrameReader instance

如果没有load 方法,则不会加载文件并返回DataFrameReader。您可以在错误消息中看到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 2018-09-10
    相关资源
    最近更新 更多