[英]Spark Streaming Data to S3
我正在S3中构建数据湖。 因此,我想将原始数据流存储到s3中,下面是我的代码段,其中我尝试使用本地存储。
val tweets = TwitterUtils.createStream(ssc, None)
val engtweets = tweets.filter(status => status.getLang() == "en").map(x => x.getText())
import sql.implicits._
engtweets.foreachRDD { rdd =>
val df = rdd.toDF()
df.write.format("json").save("../Ramesh")
}
我想将原始数据(整个JSON对象)存储在s3中。
只需在core-site.xml中设置访问密钥和秘密密钥,如下所示:
<property>
<name>fs.s3a.access.key</name>
<value>...</value>
</property>
<property>
<name>fs.s3a.secret.key</name>
<value>...</value>
</property>
完成此操作后,您应该可以使用s3协议(例如:s3a:///)写入s3。
希望这可以帮助!
您可以简单地使用路径前缀为as的saveAsTextFile
方法
s3a://<file path>
必要时,无论有无证书,您的Amazon s3均已正确设置。
https://www.cloudera.com/documentation/enterprise/5-5-x/topics/spark_s3.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.