Python Spark SQL“;“作业中未指定输入路径”;基于JSON文件创建数据帧时
我是Spark的初学者,我正在尝试使用PySpark根据JSON文件的内容创建一个数据框架,方法如下: 但是,每当我执行此命令时(使用相对路径或绝对路径) 总是给我错误Python Spark SQL“;“作业中未指定输入路径”;基于JSON文件创建数据帧时,python,json,Python,Json,我是Spark的初学者,我正在尝试使用PySpark根据JSON文件的内容创建一个数据框架,方法如下: 但是,每当我执行此命令时(使用相对路径或绝对路径) 总是给我错误 java.io.IOException: No input paths specified in job 这些问题的原因是什么,或者我是否遗漏了任何Spark配置?我使用的是Spark 1.6.1和Python 2.7.6。如果您在本地模式下运行代码,请提供文件的完整路径。 假设您的文件位置为“/user/ABC/examp
java.io.IOException: No input paths specified in job
这些问题的原因是什么,或者我是否遗漏了任何Spark配置?我使用的是Spark 1.6.1和Python 2.7.6。如果您在本地模式下运行代码,请提供文件的完整路径。
假设您的文件位置为“/user/ABC/examples/src/main/resources/people.json”。那么你的代码应该是这样的
df =sqlContext.read.json("/user/ABC/examples/src/main/resources/people.json")
如果您正在运行代码纱线模式,请检查您的文件是否存在于HDFS中,并提供完整的位置
df = sqlContext.read.json("/user/ABC/examples/src/main/resources/people.json")
如果在本地模式下运行代码,请提供文件的完整路径。
假设您的文件位置为“/user/ABC/examples/src/main/resources/people.json”。那么你的代码应该是这样的
df =sqlContext.read.json("/user/ABC/examples/src/main/resources/people.json")
如果您正在运行代码纱线模式,请检查您的文件是否存在于HDFS中,并提供完整的位置
df = sqlContext.read.json("/user/ABC/examples/src/main/resources/people.json")
尝试在绝对路径的开头添加文件:/:
df=sqlContext.read.json(“file:///user/ABC/examples/src/main/resources/people.json“”尝试在绝对路径的开头添加文件:/:
df=sqlContext.read.json(“file:///user/ABC/examples/src/main/resources/people.json“我也遇到了这个问题,添加“file://”或“hdfs://”对我很有用!谢谢杰西卡的回答 总之,如果json文件在本地文件系统中,请使用
df = sqlContext.read.json("file:///user/ABC/examples/src/main/resources/people.json")
否则,如果json文件是hdfs格式的,请使用
df = sqlContext.read.json("hdfs://ip:port/user/ABC/examples/src/main/resources/people.json")
我也遇到了这个问题,添加“file://”或“hdfs://”适合我!谢谢杰西卡的回答 总之,如果json文件在本地文件系统中,请使用
df = sqlContext.read.json("file:///user/ABC/examples/src/main/resources/people.json")
否则,如果json文件是hdfs格式的,请使用
df = sqlContext.read.json("hdfs://ip:port/user/ABC/examples/src/main/resources/people.json")
必须指定文件系统协议:
- hdfsHadoop文件系统(默认使用)
- 文件本地文件系统
- s3a/s3nAWS S3
- swift
但是,执行Spark驱动程序和工作程序的路径也必须存在。必须指定文件系统协议:
- hdfsHadoop文件系统(默认使用)
- 文件本地文件系统
- s3a/s3nAWS S3
- swift
但是,执行火花驱动程序和辅助程序的路径也必须存在。您在这里做什么?我指的是使用本地模式或纱线模式??您在这里做什么?我指的是使用本地模式或纱线模式??我在纱线客户机模式上运行。我通过执行以下操作将people.json复制到HDFS:
hadoop fs-mkdir/user/hadoop/dir1
hadoop fs-put people.json/user/hadoop/dir1/people.json
,但它仍然显示相同的错误。我遗漏了什么吗?那么你的代码应该是df=sqlContext.read.json(“/user/hadoop/dir1/people.json”),它应该在客户机模式下运行。我通过执行以下操作将people.json复制到HDFS:hadoop fs-mkdir/user/hadoop/dir1
hadoop fs-put people.json/user/hadoop/dir1/people.json
,但它仍然显示相同的错误。我遗漏了什么吗?那么你的代码应该是df=sqlContext.read.json(“/user/hadoop/dir1/people.json”),它应该可以工作。我在文件位置前面使用file://时,它会提示:file file file:/home/ABC/data/airports-extended.dat在我从该位置删除file://后不存在,它似乎能够找到该文件;然而,当我执行df.show(10)时,我仍然得到错误:jobI中没有指定输入路径,在文件位置前面使用file://并且它提示:file file:/home/ABC/data/airports-extended.dat在我从位置删除file://后不存在,它似乎能够找到该文件;然而,当我执行df.show(10)时,仍然会遇到错误:作业中没有指定输入路径