Mamy ogromne ilości danych serwera przechowywanych w S3
(wkrótce będzie to format Parquet
). Dane wymagają transformacji, więc nie może to być prosta kopia z S3. Będę używał Spark
, aby uzyskać dostęp do danych, ale zastanawiam się, czy zamiast manipulować nim przy pomocy Sparka, napisać z powrotem do S3, a następnie skopiować do Redshift, czy mogę po prostu pominąć krok i uruchomić zapytanie do pobrania/transformacji dane, a następnie skopiować je bezpośrednio do Redshift?Czy można kopiować bezpośrednio z Parkietu/S3 na Redshift przy użyciu Spark SQL/Hive/Presto?
6
A
Odpowiedz
11
Pewnie, całkowicie możliwe.
kod Scala czytać parkiet (zaczerpnięte z here)
val people: RDD[Person] = ...
people.write.parquet("people.parquet")
val parquetFile = sqlContext.read.parquet("people.parquet") //data frame
kod Scala pisać do przesunięcia ku czerwieni (wzięte z 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()
Powiązane problemy
- 1. Tryb klastra Spark Mesos przy użyciu Dispatchera
- 2. Czytanie danych z SQL Server przy użyciu Spark SQL
- 3. Czy można wybrać EXISTS bezpośrednio?
- 4. Spark przy użyciu PySpark odczytać obrazy
- 5. Android/QR-Code: Czy można otworzyć bezpośrednio Sklep Google Play przy użyciu kodu QR?
- 6. Czy można pominąć tłumaczenie przy użyciu joomfish?
- 7. Połącz się z bazą danych Redshift z Laravel 5 przy użyciu sterownika Pgsql?
- 8. Czy można uruchamiać zdarzenia przy użyciu Vue.js?
- 9. Które reguły określają, czy obiekt można w łatwy sposób kopiować?
- 10. Redshift z SSIS/SSDT
- 11. Czy można kopiować wszystkie pliki z jednego zasobnika S3 na drugie z s3cmd?
- 12. Czy można spać z jednym monitorem przy użyciu WinAPI/C#?
- 13. Redshift próżnia nie można uruchomić wewnątrz bloku transakcji na SQLWorkbenchJ
- 14. Czy można powiązać polecenie bezpośrednio z przyciskiem paska aplikacji?
- 15. Amazon Redshift: wstaw dane do tabeli z S3 przy użyciu interfejsu Java API
- 16. jak można kopiować jeden węzeł dokumentu XML na inny?
- 17. Czy można łatwo kopiować ustawienia aplikacji z jednej aplikacji internetowej na platformę Azure
- 18. Czy można kopiować żądania jako cURL w Safari?
- 19. Czy można bezpośrednio zainstalować klejnot z repozytorium git?
- 20. Czy - [NSInvocation retainArguments] kopiować bloki?
- 21. Pisanie do bazy danych Oracle przy użyciu Apache Spark 1.4.0
- 22. Jaki jest właściwy sposób uruchamiania aplikacji Spark na YARN przy użyciu Oozie (z Hue)?
- 23. Nie można uruchomić Apache Spark w systemie Windows przy użyciu Cygwin
- 24. Czy można ponownie uruchomić komputer przy użyciu "czystego" .NET i * bez * przy użyciu p/invoke?
- 25. Apache Spark: Jaka jest odpowiednia implementacja RDD.groupByKey() przy użyciu RDD.aggregateByKey()?
- 26. Czy można rozwijać program SharePoint przy użyciu technik ciągłej integracji?
- 27. Kopiowanie z jednego pliku tekstowego na inny przy użyciu Python
- 28. UITextField można kopiować, ale nie można go edytować Swift
- 29. Czy można ponownie używać nazw zmiennych przy użyciu przestrzeni nazw?
- 30. Czy można dodać funkcję onprogress do jQuery.ajax() przy użyciu xhrFields?
Wszelkie myśli o tym, jak skuteczne jest to w porównaniu do parkiet - > csv -> S3 -> copy statement do redshift z S3 –
@marcin_koss, Nie zmierzyłem tego, ale ogólnie rzecz biorąc, im mniej transformacji, tym lepiej. W przypadku S3 należy pamiętać o kosztach zapisu/odczytu danych. – evgenii