Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Spark SQL“;“作业中未指定输入路径”;基于JSON文件创建数据帧时_Python_Json - Fatal编程技术网

Python Spark SQL“;“作业中未指定输入路径”;基于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

我是Spark的初学者,我正在尝试使用PySpark根据JSON文件的内容创建一个数据框架,方法如下:

但是,每当我执行此命令时(使用相对路径或绝对路径)

总是给我错误

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)时,仍然会遇到错误:作业中没有指定输入路径