S3
'da depolanan çok miktarda sunucu verisi var (yakında bir Parquet
biçiminde olmak üzere). Verilerin bazı dönüşüme ihtiyacı vardır ve bu nedenle S3'ten gelen bir düz kopya olamaz. Verilere erişmek için Spark
kullanacağım, ancak Spark ile manipüle etmek yerine, S3'e geri yazmak yerine bir adım atıp çek/dönüştürmek için bir sorgu çalıştırırsam Redshift'e kopyalayıp kopyalamayacağımı merak ediyorum. verileri ve sonra doğrudan Redshift'e kopyalayın?Doğrudan Parquet/S3'ten Redshift'e Spark SQL/Hive/Presto?
6
A
cevap
11
Tamamen mümkün.
Scala kod herhangi bir düşünce bu parkeye kıyasla ne kadar verimli üzerinde (here alınan) kırmızıya kayma
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()
yazmaya (here alınan) parke
Scala kodunu okumak için - > csv -> S3 -> ifadesini reddeden S3'e çevir –
@marcin_koss Bunu ölçmedim, ama genel olarak, daha az dönüşüm, daha iyi dönüşümler. S3 ile aynı zamanda, yazma/okuma verilerinin maliyetini de göz önünde bulundurmalısınız. – evgenii