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

mspsb9vt  于 2023-04-13  发布在  其他
关注(0)|答案(3)|浏览(104)

我有jsut开始使用数据砖,我使用社区云,我试图读取json文件.我已经尝试这样做如下:

from pyspark.sql import SparkSession

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

但是我得到了错误:
IllegalArgumentException:路径必须是绝对路径:人民
我尝试用不同的写法访问people.json文件:
“people.json”、“/people.json”、“Data/deault/people "等,最后一个基于我对数据存储位置的理解:

然而,这并不起作用,我不断得到相同的错误信息。
每当我尝试用sql.Context.sql读取它时,它都会显示表:

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

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

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

dy2hfwbg

dy2hfwbg1#

你为什么要用spark.read.json?在你的图片中,“人”显然是一张table。
如果你想在spark中读取一个表,你可以:spark.table("people")
当你想读取一个json文件时,你可以使用spark.read.json。在这种情况下,你可以:spark.read.json("absolute/path/to/json/file")但你需要知道该路径(这正是你得到的错误)。我不知道你的文件存储在哪里,这完全取决于你知道它。你把它们放在哪里了?

ldfqzlk8

ldfqzlk82#

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

ac1kyiln

ac1kyiln3#

您可能需要尝试:df=spark.read.json('default. people')
但如上所述-对于表,它将是:df=spark.table('default. people')

相关问题