Я попробовал предложения, приведенные в Apache Spark (структурированная потоковая передача) : поддержка контрольных точек S3
Я все еще сталкиваюсь с этой проблемой. Ниже ошибка, которую я получаю
17/07/06 17:04:56 WARN FileSystem: "s3n" is a deprecated filesystem
name. Use "hdfs://s3n/" instead.
Exception in thread "main" java.lang.IllegalArgumentException:
java.net.UnknownHostException: s3n
У меня есть что-то подобное как часть моего кода
SparkSession spark = SparkSession
.builder()
.master("local[*]")
.config("spark.hadoop.fs.defaultFS","s3")
.config("spark.hadoop.fs.s3.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
.config("spark.hadoop.fs.s3n.awsAccessKeyId","<my-key>")
.config("spark.hadoop.fs.s3n.awsSecretAccessKey","<my-secret-key>")
.appName("My Spark App")
.getOrCreate();
а затем каталог контрольных точек используется следующим образом:
StreamingQuery line = topicValue.writeStream()
.option("checkpointLocation","s3n://<my-bucket>/checkpointLocation/")
Любая помощь приветствуется. Заранее спасибо!
config("spark.hadoop.fs.defaultFS","s3n")
и.config("spark.hadoop.fs.s3n.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
. Хотя я определенно не рекомендую использоватьS3
в качестве распределенной файловой системы для Spark, она обеспечивает консистентность при чтении. - person Yuval Itzchakov   schedule 07.07.2017s3a
новее из двух. Но я имел в виду, что вы вообще не хотите использовать S3. - person Yuval Itzchakov   schedule 07.07.2017