Ich verwende Amazon Elastic Map Reduce 4.7.1, Hadoop 2.7.2, Hive 1.0.0 und Spark 1.6.1.So registrieren Sie S3-Parkettdateien in einem Hive-Metastore mit Spark auf EMR
Anwendungsfall: Ich habe ein Spark-Cluster für die Verarbeitung von Daten verwendet. Diese Daten werden in S3 als Parquet-Dateien gespeichert. Ich möchte, dass Werkzeuge in der Lage sind, die Daten unter Verwendung von Namen abzufragen, die im Hive-Metastore registriert sind (z. B. nach der foo
Tabelle anstatt nach der parquet.`s3://bucket/key/prefix/foo/parquet`
Art zu suchen, Dinge zu tun). Ich möchte auch, dass diese Daten für die Lebensdauer des Hive-Metastores (eine separate RDS-Instanz) bestehen bleiben, selbst wenn ich den EMR-Cluster abreiße und einen neuen anspreche, der mit demselben Metastore verbunden ist.
Problem: Wenn ich etwas wie sqlContext.saveAsTable("foo")
mache, wird das standardmäßig eine verwaltete Tabelle im Hive Metastore erstellen (siehe https://spark.apache.org/docs/latest/sql-programming-guide.html). Diese verwalteten Tabellen kopieren die Daten von S3 nach HDFS im EMR-Cluster, was bedeutet, dass die Metadaten nach dem Zerlegen des EMR-Clusters nutzlos wären.
Leider ist Athena nicht HIPAA-konform –
Der gesamte AWS-Dienst ist nicht HIPAA-konform! . Wenn er EMR und Hive in AWS verwendet, dann kann er auch Athena verwenden, was im Grunde eine Presto-Engine ist, die an Hive-Tischen arbeitet. –
Das ist nicht genau. Sie können https://aws.amazon.com/compliance/hipaa-compliance/ für ihre HIPAA-Dokumentation sehen. –