Also ich probiere das Cascading Framework aus und konnte Apps lokal ausführen. Als nächsten Schritt möchte ich Cascading verwenden, um Dateien von S3 auf das lokale Dateisystem herunterzuladen. Ich plane, FileTap zu verwenden. Als ich googlen habe ich S3FS gefunden und sieht aus wie es ist veraltet. Kann mir jemand in die richtige Richtung zeigen? Mit anderen Worten, was ist der richtige Weg, um ein FileTap für Amazon S3 mit Zugriffs-ID und geheimen Schlüssel wie Zeug zu erstellen.Cascading Tap Konfiguration für Amazon S3 zu lokalem Dateisystem
0
A
Antwort
1
Obwohl dieser Code für den HadoopFlowConnector gilt, funktioniert dies mit dem Local Flow-Connector, wenn Sie FileTap verwenden.
public class Main {
public void run(String[] args) {
Properties properties = new Properties();
String accessKey = args[0];
String secretKey = args[1];
// better put these keys to hadoop xml file
// for block file system
properties.setProperty("fs.s3.awsAccessKeyId", accessKey);
properties.setProperty("fs.s3.awsSecretAccessKey", secretKey);
// for s3 native file system
// properties.setProperty("fs.s3n.awsAccessKeyId", accessKey);
// properties.setProperty("fs.s3n.awsSecretAccessKey", secretKey);
// properties.setProperty("fs.defaultFS", "hdfs://localhost:8020/");
// properties.setProperty("fs.permissions.umask-mode", "007");
AppProps.setApplicationJarClass(properties, Main.class);
HadoopFlowConnector flowConnector = new HadoopFlowConnector(
properties);
String input = "s3://my-bucket/my-log.csv";
// If using the native S3
// String input = "s3n://my-bucket/my-log.csv";
Tap inTap = new Hfs(new TextDelimited(false, ";"), input);
Pipe copyPipe = new Pipe("copy");
Tap outTap = new Hfs(new TextDelimited(false, ";"),
"data/output");
FlowDef flowDef = FlowDef.flowDef()
.addSource(copyPipe, inTap)
.addTailSink(copyPipe, outTap);
flowConnector.connect(flowDef).complete();
}
public static void main(String[] args) {
new Main().run(args);
}
}
Code mit freundlicher Genehmigung http://whiteboxdeveloper.blogspot.com/2015/01/processing-data-from-aws-s3-using.html.
Ich habe gerade die S3N String Input kommentierte Zeile hinzugefügt. Da ich S3N basierend auf dem Zugriff verwendet habe, habe ich die S3N-Funktionen auskommentiert und benutzt.
Verwandte Themen
- 1. Verwenden von Amazon S3 als Dateisystem für MongoDB
- 2. Konfiguration für Carrierwave mit Amazon S3, gehostet auf Heroku
- 3. Spark Streaming Checkpoint zu Amazon s3
- 4. git-merge mit Repository auf lokalem Dateisystem
- 5. Alternative zu Amazon S3 für das Rechenzentrum?
- 6. Amazon S3 Architektur
- 7. Amazon S3 Cache-Audiodateien
- 8. Amazon S3 für soziale Netzwerke?
- 9. Amazon S3 Implementierung für reactjs
- 10. Browserbasierte Uploads zu Amazon S3?
- 11. CNAME zu s3 eimer amazon
- 12. amazon s3 archivalischer Zeitplan
- 13. Datei hochladen zu Amazon S3 - clientseitige JavaScript-
- 14. Amazon S3 - Zeitbasierte Dateien speichern
- 15. Dateien rekursiv aus Unterverzeichnissen mit Spark von s3 oder lokalem Dateisystem lesen
- 16. Amazon S3-Berechtigungen
- 17. PHP/Amazon S3: Abfragezeichenfolgenauthentifizierung
- 18. Laravel-Dateisystem mit S3 - benutzerdefinierte Metadaten
- 19. Amazon Redshift - Entladen zu S3 - Dynamischer S3 Dateiname
- 20. Amazon S3 copyObject Erlaubnis
- 21. SignatureDoesNotMatch - Amazon S3 API
- 22. Amazon S3 Backup
- 23. REST-Client für Amazon S3 in J2ME
- 24. Amazon s3 Preise
- 25. Über Amazon S3
- 26. http auf https für Amazon S3 Eimer
- 27. Amazon AWS EMR "Nein" Konfiguration Beispielanwendung
- 28. Migrating Wordpress Uploads zu Amazon S3
- 29. Amazon S3 Redirect 404 zu anderen Host
- 30. Amazon S3 URL Rewrite
https://github.com/s3fs-fuse/s3fs-fuse ist noch in aktiver Entwicklung. –