我假设google storage connector允许直接查询gs,就好像它是dataproc中spark的hdfs一样,但下面的代码似乎不起作用(来自spark shell):
scala> import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.fs.FileSystem
scala> import org.apache.hadoop.fs.Path
import org.apache.hadoop.fs.Path
scala> FileSystem.get(sc.hadoopConfiguration).exists(new Path("gs://samplebucket/file"))
java.lang.IllegalArgumentException: Wrong FS: gs://samplebucket/file, expected: hdfs://dataprocmaster-m
有没有一种只使用hadoopapi访问google存储文件的方法?
2条答案
按热度按时间wn9m85ua1#
那是因为
FileSystem.get(...)
返回默认值FileSystem
根据你的配置HDFS
只能使用以开头的路径hdfs://
. 使用以下命令获得正确的fs。a5g8bdjr2#