fly*_*zai 6 hadoop amazon-s3 apache-spark apache-spark-sql
我们存储了大量的服务器数据S3(很快就会采用Parquet格式化).数据需要一些转换,因此它不能是S3的直接副本.我将Spark用来访问数据,但我想知道是不是用Spark操纵它,写回S3,然后复制到Redshift如果我可以跳过一步并运行查询来拉/变换数据,然后直接复制到Redshift?
evg*_*nii 11
当然,完全有可能.
Scala代码读取镶木地板(取自此处)
val people: RDD[Person] = ...
people.write.parquet("people.parquet")
val parquetFile = sqlContext.read.parquet("people.parquet") //data frame
Run Code Online (Sandbox Code Playgroud)
用于写入redshift的Scala代码(取自此处)
parquetFile.write
.format("com.databricks.spark.redshift")
.option("url", "jdbc:redshift://redshifthost:5439/database?user=username&password=pass")
.option("dbtable", "my_table_copy")
.option("tempdir", "s3n://path/for/temp/data")
.mode("error")
.save()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4954 次 |
| 最近记录: |