【问题标题】:Incomplete HDFS URI, no host, altohugh file does exist不完整的 HDFS URI,没有主机,altohugh 文件确实存在
【发布时间】:2019-08-12 12:16:20
【问题描述】:

我正在尝试使用以下代码通过 pyspark 访问我在 hdfs 中的文件:

spark = SparkSession.builder.appName("MongoDBIntegration").getOrCreate()
receipt = spark.read.json("hdfs:///bigdata/2.json")

我得到一个错误Incomplete HDFS URI, no host: hdfs:///bigdata/2.json

但如果我写命令 hdfs dfs -cat /bigdata/1.json 它会打印我的文件

【问题讨论】:

    标签: apache-spark hadoop pyspark hdfs hdp


    【解决方案1】:

    错误信息表明您没有在 HDFS URI 中指定主机。

    尝试更改 URI:

    hdfs://<HDFS_HOST>:<HDFS_PORT>/bigdata/2.json
    

    【讨论】:

    • 尝试作为 hdfs://localhost:8020/bigdata/2.json 并得到一个错误:java.net.ConnectException: Call From sandbox-hdp.hortonworks.com/172.18.0.2 to localhost: 8020 连接异常失败:java.net.ConnectException:连接被拒绝;
    • 你必须检查哪个是你的 HDFS NameNode 的监听地址 (fs.default.name)
    • fs.defaultFShdfs://sandbox-hdp.hortonworks.com:8020true
    • 试试 URI hdfs://sandbox-hdp.hortonworks.com:8020/bigdata/2.json
    • 成功了!但我不明白,为什么使用 localhost 它不起作用?我检查了我的主机文件,有一个从沙箱到本地主机的重定向
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    相关资源
    最近更新 更多