apache-spark - hdfs URI 未解析
问题描述
在我当前的 spark 应用程序中,我正在检查 hdfs,hdfs URI 如下所示
hdfs:///tmp/log
我收到一个错误 org.apache.hadoop.HadoopIllegalArgumentException: Uri without authority: hdfs:/tmp/
我观察到///
已解决/
。
这是一个错误还是我缺少任何配置。谢谢
解决方案
这取决于您如何fs.defaultFS
在core-site.xml
文件中配置。(火花:3.2.0,Hadoop:3.2)
对于 HDFS
<property><name>fs.defaultFS</name><value>hdfs://hadoop-master:9000</value></property>
代码(默认路径在 hdfs 存储上):
df.writeStream.format("kafka").option("checkpointLocation", '/tmp/checkpoint').start()
对于文件
<property><name>fs.defaultFS</name><value>file:///</value></property>
代码(默认路径在文件存储上):
df.writeStream.format("kafka").option("checkpointLocation", '/tmp/checkpoint').start()
更改代码中的存储
代码(对默认值不重要):
df.writeStream.format("kafka").option("checkpointLocation", 'hdfs://hadoop-master:9000/tmp/checkpoint').start()
# or
df.writeStream.format("kafka").option("checkpointLocation", 'file:///tmp/checkpoint').start()
推荐阅读
- google-cloud-platform - 在 Stackdriver 的错误报告中创建提醒政策
- javascript - 当我知道它是真的时,在 GTM 中将错误作为自定义 Javascript 返回
- excel - 如何在用户窗体中的特定单元格上设置我的输入数据?
- elixir - 由于 genserver 未启动,酿酒厂启动后挂钩失败
- sql-server - 如何使用以前行的平均值更新 SQL Server 中的行
- html - 调整窗口大小时如何修复图像?
- mysql - 有没有办法从列中的列表中排除特定字符串
- java - Spring Data JPA 和默认值
- bash - 检查提供的命令的返回码的功能
- r - 为什么环境的“object.size”小于环境中对象的“object.size”?