2017-10-06 8 views
1

Ich bin mit einem pyspark Job, wie unten einen Datenrahmen und speichert sie in S3 erzeugt:Exportieren von Spark-Datenrahmen zu Athena

df.write.saveAsTable(table_name, format="orc", mode="overwrite", path=s3_path) 

ich die orcfile ohne Probleme lesen kann, nur durch spark.read.orc(s3_path) mit, so dass es Schemainformationen in der ORC-Datei wie erwartet.

Allerdings würde ich gerne die Datenframe Inhalte mit Athena anzeigen. Klar, wenn ich zu meinem Bienenstock-Metastore schrieb, kann ich Bienenstock anrufen und show create table ${table_name} tun, aber das ist eine Menge Arbeit, wenn alles, was ich will, ein einfaches Schema ist.

Gibt es einen anderen Weg?

Antwort

1

Einer der Ansätze wäre, einen Glue crawler für Ihren S3-Pfad einzurichten, der eine Tabelle im AWS Glue Data Catalog erstellen würde. Alternativ können Sie die Glue-Tabellendefinition über die Glue-API erstellen.

Der AWS Kleber Datenkatalog ist komplett ausgestattet mit Athena integriert, so würden Sie Ihren Kleber Tisch in Athena, und in der Lage sehen es direkt abfragen: http://docs.aws.amazon.com/athena/latest/ug/glue-athena.html