Abbiamo enormi quantità di dati del server memorizzati in S3
(presto in un formato Parquet
). I dati richiedono una certa trasformazione e quindi non può essere una copia diretta da S3. Userò Spark
per accedere ai dati, ma mi chiedo se invece di manipolarlo con Spark, scrivere di nuovo su S3, e quindi copiare su Redshift se posso saltare un passo ed eseguire una query per tirare/trasformare i dati e poi copiarli direttamente su Redshift?È possibile copiare direttamente da Parquet/S3 a Redshift usando Spark SQL/Hive/Presto?
6
A
risposta
11
Certo, assolutamente possibile.
codice Scala da leggere in legno (tratto da here)
val people: RDD[Person] = ...
people.write.parquet("people.parquet")
val parquetFile = sqlContext.read.parquet("people.parquet") //data frame
codice Scala di scrivere a redshift (tratto da here)
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()
Problemi correlati
- 1. Come copiare i dati in blocco da Kinesis -> Redshift
- 2. Copia di una tabella da un cluster redshift a un altro cluster redshift (senza utilizzare s3)
- 3. È possibile copiare CALayer da UIView?
- 4. Connessione a Redshift via SSL usando R
- 5. È possibile eseguire BitBlt direttamente da una bitmap GDI +?
- 6. È possibile accedere al disco rigido direttamente da GPU?
- 7. È possibile installare direttamente una gemma da un repository git?
- 8. Connessione a un cluster Redshift da pgAdmin
- 9. Trasmettere dati direttamente in hdf senza copiare
- 10. Perché possiamo copiare direttamente i puntatori, ma non possiamo copiare direttamente gli array in C++
- 11. Come copiare il file di dati csv su Amazon RedShift?
- 12. Come scaricare/copiare in modo sicuro una tabella in RedShift?
- 13. Carica i dati in Redshift usando Node.js
- 14. È possibile utilizzare Rstudio per tradurre da .Rmd a LaTeX direttamente senza pandoc?
- 15. Copia di dati da S3 a redshift di AWS usando python e psycopg2
- 16. È possibile copiare facilmente le impostazioni delle applicazioni da un'app Web a un'altra in azzurro
- 17. È possibile applicare il bootstrap solo a div, usando CDN?
- 18. Connetti IntelliJ a Amazon Redshift
- 19. Sincronizzare i dati da MySql a Amazon RedShift
- 20. iOS, usando underscore vs usando iVar direttamente
- 21. È possibile caricare su S3 direttamente dall'URL utilizzando il POST?
- 22. Inserimento di dati analitici da Spark a Postgres
- 23. Come posso copiare file da un ramo all'altro usando git?
- 24. Come copiare file da host per container usando Dockerfile
- 25. È possibile utilizzare simplexml per copiare tramite html?
- 26. Come copiare più file da una directory diversa usando cp?
- 27. È possibile recuperare i dati da SQL Server usando jQuery?
- 28. È possibile leggere/scrivere bit da un file usando JAVA?
- 29. È possibile importare uno script da un URL usando node.js?
- 30. intermittente Timeout Eccezione usando Spark
Ogni pensiero su come efficace questo è in confronto al parquet - > csv -> S3 -> copia istruzione in redshift da S3 –
@marcin_koss, non l'ho misurato, ma in generale, meno trasformazioni, meglio è. Con S3 devi anche tenere a mente i possibili costi di scrittura/lettura dei dati da esso. – evgenii