IllegalArgumentException:尝试读取数据块中的 json 时路径必须是绝对路径

IllegalArgumentException: Path must be absolute when trying to read json in databricks

我刚开始使用数据块,我正在使用社区云,我正在尝试读取 json 文件。 我尝试按以下方式执行此操作:

from pyspark.sql import SparkSession

df=spark.read.json('people')

但是我得到了错误:

IllegalArgumentException: Path must be absolute: people

我尝试访问 people.json 文件,但写法不同:

'people.json', '/people.json','Data/deafult/people' 等,最后一个是根据我理解的数据存储位置:

但是,这不起作用,我不断收到相同的错误消息。

Ho 每当我尝试用 sql.Context.sql 阅读它时,它都会显示 table:

df=sqlContext.sql("SELECT * FROM people")
df.show()

>>>
+----+-------+
| age|   name|
+----+-------+
|null|Michael|
|  30|   Andy|
|  19| Justin|
+----+-------+

所以我的问题是如何用 spark.read.json 打开 json 文件?

为什么要使用 spark.read.json? 在你的图片中,“人”显然是 table.

如果你想在 spark 中读取 table,你可以这样做:spark.table("people")

当您想要读取 json 文件时,您可以使用 spark.read.json。在那种情况下,您可以: spark.read.json("absolute/path/to/json/file") 但您需要知道该路径(这正是您遇到的错误)。我不知道你的文件存储在哪里,这完全取决于你自己。你把它们放在哪里了?

  1. 导航到“数据”->“创建 Table”
  2. 将 people.json 文件拖放到“文件”窗格中 (Like this)
  3. 不要点击“用UI创建Table”按钮,只需复制文件下方自动创建的路径即可。例如。 "/FileStore/tables/people.json"
  4. 现在您可以粘贴正确的路径并使用read.json 命令。它看起来像这样:df = spark.read.json('/FileStore/tables/people.json')