Häufig gestellte Fragen zu Amazon Athena

Allgemeines

Athena ist ein interaktiver Analyseservice, der die Analyse von Daten in Amazon Simple Storage Service (S3) mit SQL erleichtert. Athena ist Serverless, sodass keine Infrastruktur eingerichtet oder verwaltet werden muss und Sie sofort mit dem Analysieren von Daten beginnen können. Sie brauchen Ihre Daten nicht einmal in Athena zu laden – Athena arbeitet direkt mit den in Amazon S3 gespeicherten Daten. Amazon Athena für SQL verwendet Trino und Presto mit vollständiger Standard-SQL-Unterstützung und funktioniert mit verschiedenen Standard-Datenformaten, einschließlich CSV, JSON, Apache ORC, Apache Parquet und Apache Avro. Athena für Apache Spark unterstützt SQL und ermöglicht die Verwendung von Apache Spark, einem verteilten Open-Source-Verarbeitungssystem, das für Big-Data-Workloads verwendet wird. Um loszulegen, melden Sie sich bei der Athena-Managementkonsole an und beginnen Sie mit dem Abfrageeditor oder den Notebooks mit Ihren Daten zu interagieren.

Mit Athena können Sie Daten analysieren, die in S3 und mehr als 30 Datenquellen gespeichert sind, einschließlich On-Premises-Datenquellen oder anderen Cloud-Systemen. Sie können Athena verwenden, um interaktive Analysen mit ANSI-SQL oder Python durchzuführen, ohne die Daten aggregieren oder in Athena laden zu müssen. Athena kann unstrukturierte, halbstrukturierte und strukturierte Datensätze verarbeiten. Beispiele sind CSV, JSON, Avro oder Daten im Spaltenformat wie Parquet und ORC. Amazon Athena für SQL lässt sich mit Amazon QuickSight integrieren, um Ihre Daten zu visualisieren oder Dashboards zu erstellen. Sie können Athena auch verwenden, um Berichte zu erstellen oder Daten mit Business-Intelligence-Tools oder SQL-Clients zu untersuchen, die mit einem ODBC- oder JDBC-Treiber verbunden sind. 

Für den Einstieg in Athena melden Sie sich bei der AWS-Managementkonsole für Athena an und erstellen Ihr Schema, indem Sie Data Definition Language (DDL)-Anweisungen in der Konsole schreiben oder einen Assistenten zum Erstellen von Tabellen verwenden. Anschließend können Sie mit einem integrierten Abfrage-Editor Daten abfragen. Athena fragt Daten direkt von S3 ab, sodass kein Laden erforderlich ist.

Amazon Athena für SQL

Der Zugriff auf Amazon Athena für SQL kann über die AWS-Managementkonsole, AWS-SDK und -CLI oder die Athena-ODBC- bzw. JDBC-Treiber erfolgen. Mit dem ODBC- oder JDBC-Treiber können Sie programmgesteuert Abfragen ausführen, Tabellen oder Partitionen hinzufügen.

Athena für SQL verwendet Trino mit vollständiger Standard-SQL-Unterstützung und funktioniert mit verschiedenen Standard-Datenformaten, darunter CSV, JSON, ORC, Avro und Parquet. Amazon Athena kann komplexe Analysen einschließlich großer Joins, Fensterfunktionen und Arrays erstellen. Mit Amazon-Athena-SQL-Engine Version 3, dass auf Trino aufgebaut ist, erhöhen wir weiterhin die Leistung und bieten neue Funktionen, die unserem Ansatz auf Amazon-Athena-Engine, Version 2 ähnelt, das auf Presto aufgebaut ist. Einer der aufregendsten Aspekte von v3 ist sein neuer fortlaufender Integrationsansatz zur Verwaltung der Open-Source-Software, mit dem die Kunden mit Trino- und PrestoDB-Projekten auf dem Laufenden bleiben. Unser Ziel ist es, innerhalb von 60–90 Tagen nach der Veröffentlichung von Open-Source-Trino zu bleiben. Das Athena-Entwicklungsteam trägt aktiv zur Fehlerbehebung und Sicherheit, Skalierbarkeit, Leistung und Funktionsverbesserungen bei, die auf diese Open-Source-Codebasen zurückzuführen sind. Also kann jeder, der Trino, PrestoDB, und Apache Iceberg verwendet, von den Beiträgen des Teams profitieren.

Athena für SQL verwendet einen verwalteten AWS-Glue-Datenkatalog, um Informationen und Schemata zu den Datenbanken und Tabellen zu speichern, die Sie für Ihre in S3 gespeicherten Daten erstellen. In Regionen, in denen AWS Glue verfügbar ist, können Sie ein Upgrade auf die Verwendung des Datenkatalogs mit Athena durchführen. In Regionen, in denen AWS Glue nicht verfügbar ist, verwendet Athena einen internen Katalog.

 

Sie können den Katalog mithilfe von DDL-Anweisungen oder über die AWS-Managementkonsole bearbeiten. Alle von Ihnen definierten Schemata werden automatisch gespeichert, es sei denn, Sie löschen sie ausdrücklich. Athena verwendet die Schema-on-Read-Technologie. Dies bedeutet, dass Ihre Tabellendefinitionen auf ihre Daten in S3 angewendet werden, wenn Abfragen angewendet werden. Es müssen keine Daten geladen werden und es sind keine Transformationen erforderlich. Sie können Tabellendefinitionen und Schemata löschen, ohne dass dies Auswirkungen auf die zugrunde liegenden Daten hat, die in S3 gespeichert sind.

AWS Glue ist ein vollständig verwalteter Extract, Transform, Load (ETL)-Service. AWS Glue umfasst drei Hauptkomponenten: 1) einen Crawler, der automatisch Ihre Datenquellen scannt, Datenformate identifiziert und Schemas ableitet, 2) einen vollständig verwalteten ETL-Service, mit dem Sie Daten transformieren und an verschiedene Ziele verschieben können, sowie 3) einen Datenkatalog zum Speichern von Datenbank- und Tabellenmetadaten, die in S3 oder einem mit ODBC oder JDBC kompatiblen Datenspeicher gespeichert werden. Um die Vorteile von AWS Glue nutzen zu können, ist ein Upgrade vom internen Athena-Datenkatalog auf den Glue-Datenkatalog erforderlich.

Das Upgrade auf den Glue-Datenkatalog bietet u. a. folgende Vorteile:

  • Einheitliches Metadaten-Repository: AWS Glue ist in verschiedene AWS-Services integriert. AWS Glue unterstützt Daten, die in Amazon Aurora, Amazon Relational Database Service (RDS) für MySQL, Amazon RDS für PostreSQL, Amazon Redshift und S3 gespeichert sind, sowie MySQL- und PostgreSQL-Datenbanken in Ihrer Amazon Virtual Private Cloud (VPC), die in Amazon Elastic Compute Cloud (EC2) ausgeführt wird. AWS Glue bietet eine sofortige Integration mit Athena, Amazon EMR, Amazon Redshift Spectrum und jeder Anwendung, die mit dem Apache-Hive-Metaspeicher kompatibel ist.
  • Automatische Schema- und Partitionserkennung: AWS Glue scannt automatisch Ihre Datenquellen, identifiziert Datenformate und schlägt Schemata und Transformationen vor. Crawler können die Automatisierung der Tabellenerstellung sowie das automatische Laden von Partitionen erleichtern.

Weitere Informationen zu Data Catalog finden Sie auf der Webseite AWS Glue.

Ja. Ein schrittweises Verfahren finden Sie im Handbuch zu Amazon Athena unter Integration mit AWS Glue.

Details zur Verfügbarkeit des Athena-Service nach Region finden Sie in der Liste von regionalen AWS-Services.

Weitere Informationen zu Servicelimits finden Sie im Benutzerhandbuch zu Amazon Athena unter Service Quotas.

Erstellen von Tabellen, Datenformaten und Partitionen

Athena verwendet Apache Hive DDL zum Definieren von Tabellen. Sie können DDL-Anweisungen über die Athena-Konsole, einen ODBC- oder JDBC-Treiber oder die API ausführen oder den Assistenten zur Tabellenerstellung von Athena verwenden. Wenn sie den Datenkatalog mit Athena verwenden, können Sie Schemas und Partitionen auch automatisch mit AWS-Glue-Crawlern ableiten. AWS-Glue-Crawler werden mit einem Datenspeicher verbunden und durchsuchen eine priorisierte Liste mit Klassifizierungen, um das Schema für Ihre Daten sowie weitere Statistiken zu extrahieren. Diese Metadaten werden anschließend in den Datenkatalog übertragen. Crawler können regelmäßig ausgeführt werden, um neu verfügbare Daten sowie Änderungen an bestehenden Daten einschließlich Änderungen an Tabellendefinitionen zu ermitteln. Mit Crawlern werden automatisch neue Tabellen sowie Partitionen zu bestehenden Tabellen und neue Versionen von Tabellendefinitionen hinzugefügt. Sie können AWS-Glue-Crawler anpassen, um Ihre eigenen Dateintypen zu klassifizieren. 

Wenn Sie in Athena ein neues Tabellenschema erstellen, wird dieses im Datenkatalog gespeichert und zum Ausführen von Abfragen verwendet. Ihre Daten in S3 bleiben dabei unverändert. Athena verwendet eine Methode, die als „Schema-on-Read“ bezeichnet wird und die es Ihnen ermöglicht, Ihr Schema zur Ausführungszeit einer Abfrage auf Ihre Daten anzuwenden. Dadurch müssen die Daten nicht mehr geladen oder transformiert werden. Weitere Informationen zum Erstellen von Tabellen

Athena unterstützt verschiedene Datenformate wie CSV, TSV, JSON oder Textdateien und unterstützt auch Open-Source-Spaltenformate wie ORC und Parquet. Darüber hinaus unterstützt Athena komprimierte Daten in den Formaten Snappy, Zlib, LZO und GZIP. Durch Komprimieren, Partitionieren und das Verwenden von Spaltenformaten können Sie die Leistung verbessern und Ihre Kosten reduzieren. 

Athena unterstützt sowohl einfache Datentypen wie INTEGER, DOUBLE und VARCHAR als auch komplexe Datentypen wie MAPS, ARRAY und STRUCT.  

Athena verwendet Hive nur für DDL und zum Erstellen, Ändern und Löschen von Tabellen oder Partitionen. Eine vollständige Liste der unterstützten Anweisungen finden Sie im Benutzerhandbuch zu Amazon Athena unter DDL-Anweisungen. Athena verwendet Trino und Presto, wenn Sie SQL-Abfragen in S3 ausführen. Sie können ANSI-kompatible SQL SELECT-Anweisungen ausführen, um Ihre Daten in S3 abzufragen.

SerDe steht für Serializer/Deserializer, bei denen es sich um Bibliotheken handelt, die Hive Anweisungen zum Interpretieren von Datenformaten geben. Hive-DDL-Anweisungen setzen voraus, dass Sie einen SerDe angeben, damit das System weiß, wie die Daten zu interpretieren sind, auf die Sie verweisen. Athena verwendet SerDes, um die aus S3 gelesenen Daten zu interpretieren. Das Konzept von SerDes in Athena ist das gleiche wie das Konzept, das in Hive verwendet wird. Amazon Athena unterstützt die folgenden SerDes:

  • Apache Weblogs: "org.apache.hadoop.hive.serde2.RegexSerDe"
  • CSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  • TSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  • Benutzerdefinierte Trennzeichen: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  • Parquet: "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
  • Orc: "org.apache.hadoop.hive.ql.io.orc.OrcSerde"
  • JSON: „org.apache.hive.hcatalog.data.JsonSerDe“ oder „org.openx.data.jsonserde.JsonSerDe“

Zur Zeit können Sie Ihren eigenen SerDe nicht zu Athena hinzufügen. Wir begrüßen ihr Feedback und wenn es SerDes gibt, die Sie hinzugefügt haben möchten, wenden Sie sich bitte unter [email protected] an das Athena-Team.

Ja, Parquet- und ORC-Dateien, die mit von Spark erstellt wurden, können in Athena gelesen werden.

Wenn Ihre Kinesis-Data-Firehose-Daten in S3 gespeichert sind, können Sie sie mit Athena abfragen. Erstellen Sie in Athena ein Schema für Ihre Daten und beginnen Sie mit der Abfrage. Wir empfehlen Ihnen, dass Sie die Daten in Partitionen organisieren, um die Leistung zu verbessern. Sie können Partitionen, die von Data Firehose erstellt wurden, mithilfe von ALTER TABLE DDL-Anweisungen hinzufügen. Weitere Informationen über die Partitionierung von Daten

Ja. Mit Athena können Sie Ihre Daten für jede Spalte partitionieren. Mit Partitionen kann die Menge der bei einer Abfrage berücksichtigten Daten eingeschränkt werden, was zu Kosteneinsparungen und schnellerer Ausführung führt. Sie können Ihr Partitionierungsschema mit der Klausel PARTITIONED BY in der Anweisung CREATE TABLE festlegen. Amazon Athena unterstützt AWS-Glue-Datenkatalog-Partitionsindizes, um die Abfrageplanung zu optimieren und die Abfragelaufzeit zu reduzieren. Wenn Sie eine Tabelle abfragen, die eine große Anzahl von Partitionen enthält, ruft Athena die verfügbaren Partitionen aus dem AWS Glue Data Catalog ab und ermittelt, welche für Ihre Abfrage erforderlich sind. Wenn neue Partitionen hinzugefügt werden, erhöht sich die zum Abrufen der Partitionen benötigte Zeit, was zu einer Verlängerung der Abfragezeit führen kann. Der AWS-Glue-Datenkatalog ermöglicht es Kunden, Partitionsindizes zu erstellen, die den Zeitaufwand für das Abrufen und Filtern von Partitions-Metadaten in Tabellen mit Zehn- und Hunderttausenden von Partitionen reduzieren.

Wenn Ihre Daten partitioniert sind, müssen Sie eine Metadatenabfrage (ALTER TABLE ADD PARTITION) ausführen, um die Partition zu Athena hinzuzufügen, wenn in S3 neue Daten verfügbar werden. Wenn Ihre Daten nicht partitioniert sind, werden neue Daten automatisch zu Athena hinzugefügt, wenn die Daten oder Dateien dem vorhandenen Präfix hinzugefügt werden. Weitere Informationen über die Partitionierung von Daten.

Ja, Athena optimiert das Ausführen von Standard-SQL-Abfragen für Ihre vorhandenen Protokolldaten. Athena fragt Daten direkt von S3 ab, sodass kein Verschieben oder Laden erforderlich ist. Sie definieren Ihr Schema mit DDL-Anweisungen und beginnen sofort mit der Abfrage Ihrer Daten.

Abfragen, Datenformate und Multicloud

Athena unterstützt ANSI-SQL-Abfragen. Athena verwendet Trino, ein speicherresidentes, verteiltes Open-Source-SQL-Modul, und kann komplexe Analysen einschließlich großer Joins, Fensterfunktionen und Arrays erstellen.

Ja. Athena lässt sich mit QuickSight integrieren, sodass Sie Ihre in S3 gespeicherten Daten nahtlos visualisieren können. 

Ja. Athena verfügt über einen ODBC- und JDBC-Treiber, den Sie mit anderen BI-Tools und SQL-Clients verwenden können. Weitere Informationen zur Verwendung eines ODBC- oder JDBC-Treibers mit Athena. 

Hier finden Sie weitere Informationen über die von Athena unterstützten Funktionen

Sie können die Leistung Ihrer Abfrage verbessern, indem Sie Ihre Daten komprimieren, partitionieren oder in Spaltenformate umwandeln. Athena unterstützt Open-Source-Spaltenformate für Daten wie beispielsweise Parquet und ORC. Das Umwandeln Ihrer Daten in ein komprimiertes Format oder ein Spaltenformat senkt Ihre Kosten und verbessert die Abfrageleistung, da Athena beim Ausführen Ihrer Abfrage weniger Daten aus S3 scannen muss.

Ja. Athena unterstützt UDFs, sodass Sie benutzerdefinierte Skalarfunktionen schreiben und diese in SQL-Abfragen aufrufen können. Athena bietet integrierte Funktionen. UDF hingegen ermöglichen Ihnen die benutzerdefinierte Verarbeitung, darunter z. B. das Komprimieren und Dekomprimieren von Daten, das Entfernen vertraulicher Daten oder die Anwendung benutzerdefinierter Verschlüsselung.

Sie können ihre UDFs in Java mit dem Athena-Abfrageverbund-SDK schreiben. Wenn eine UDF in einer an Athena übermittelten SQL-Abfrage verwendet wird, wird sie in AWS Lambda aufgerufen und ausgeführt. UDFs können sowohl in SELECT- als auch in FILTER-Klauseln einer SQL-Abfrage verwendet werden. Sie können mehrere UDFs in derselben Abfrage aufrufen. 

Sie können das Athena-Abfrageverbund-SDK zum Schreiben Ihrer UDF verwenden. Sehen Sie sich Beispiele für UDF an. Sie können Ihre Funktion in Lambda hochladen und sie dann in Ihrer Athena-Abfrage aufrufen. Informationen zu den ersten Schritten finden Sie im Handbuch zu Amazon Athena unter Erstellen und Bereitstellen einer UDF mit Lambda.

Athena ruft Ihre UDF für einen Stapel von Datensatzzeilen auf, um die Leistung zu verbessern. 

Ja, Athena bietet mehrere Datenquellenkonnektoren, mit denen Sie Daten in anderen Cloud-Service-Anbietern und anderen Cloud-Speicher-Services analysieren können, ohne die Daten zu verschieben oder zu transformieren. Datenquellenkonnektoren sind für mehr als 30 Datenquellen verfügbar, darunter Azure Synapse, Azure Data Lake Storage, Google BigQuery und Google Cloud Storage. Weitere Informationen über AWS-Lösungen für Hybrid- und Multi-Cloud-Umgebungen.

Verbundabfrage

Falls Sie Daten in anderen Quellen als S3 haben, können Sie Athena verwenden, um die Daten direkt abzufragen oder Pipelines zu entwickeln, die Daten aus mehreren Datenquellen extrahieren und in S3 speichern. Mit der Amazon-Athena-Verbundabfrage können Sie SQL-Abfragen für Daten ausführen, die in relationalen, nicht-relationalen, objekt- und benutzerdefinierten Datenquellen gespeichert sind.

Unternehmen speichern Daten häufig in einer Datenquelle, die den Anforderungen ihrer Anwendungen oder Geschäftsprozesse entspricht. Zu diesen Datenbanken können relationale, Schlüsselwert-, Dokument-, In-Memory-, Such-, Graph-, Zeitreihen- und Ledger-Datenbanken, sowie die Speicherung von Daten in einem S3-Data-Lake gehören. Die Ausführung von Analysen aus so vielfältigen Quellen kann komplex und zeitaufwändig sein, da sie typischerweise das Erlernen neuer Programmiersprachen oder Datenbankkonstrukte und den Aufbau komplexer Pipelines zur Extraktion, Umwandlung und Duplizierung von Daten erfordert, bevor sie für Analysen verwendet werden können. Athena reduziert diese Komplexität, indem es Ihnen ermöglicht, SQL-Abfragen für die Daten dort auszuführen, wo sie sich befinden. Sie können bekannte SQL-Konstrukte verwenden, um Daten für eine schnelle Analyse über mehrere Datenquellen hinweg abzufragen, oder geplante SQL-Abfragen verwenden, um Daten aus mehreren Datenquellen zu extrahieren, zu transformieren und sie für die weitere Analyse in S3 zu speichern.

Athena bietet integrierte Konnektoren zu mehr als 30 beliebten AWS-, On-Premises- und anderen Cloud-Datenspeichern, darunter Amazon Redshift, Amazon DynamoDB, Google BigQuery, Google Cloud Storage, Azure Synapse, Azure Data Lake Storage, Snowflake und SAP Hana. Mithilfe dieser Konnektoren können Sie SQL-Analyseanwendungen für strukturierte, halbstrukturierte, Objekt-, Diagramm-, Zeitreihen- und andere Datenspeichertypen nutzen. Eine vollständige Liste der unterstützten Datenquellen finden Sie unter Verwendung von Athena-Datenquellen-Connectors.


Außerdem können Sie das Athena-Datenkonnektor-SDK von Athena verwenden, um einen benutzerdefinierten Datenquellenkonnektor zu erstellen und diesen mit Athena abzufragen. Sehen Sie sich zum Einstieg die Dokumentation und das Beispiel für eine Konnektorimplementierung an.

Sie können Ihre vorhandenen SQL-Kenntnisse mit Athena nutzen, um Erkenntnisse aus verschiedenen Datenquellen zu gewinnen, ohne eine neue Sprache erlernen, Skripts zum Extrahieren (und Duplizieren) von Daten entwickeln oder eine Infrastruktur verwalten zu müssen. Mit Amazon Athena können Sie die folgenden Aufgaben durchführen:

  • On-Demand-Analysen auf Daten ausführen, die über mehrere Datenspeicher verteilt sind, mit einem einzigen Tool und SQL-Dialekt
  • Daten in BI-Anwendungen visualisieren, die komplexe Joins mit mehreren Quellen über ODBC- und JDBC-Schnittstellen an die verteilte Computing-Engine von Athena weiterleiten.
  • Self-Service-ETL-Pipelines und ereignisbasierte Workflows zur Datenverarbeitung mit der Integration von Athena in AWS Step Functions entwerfen
  • Verschiedene Datenquellen zur Erzeugung umfangreicher Eingabefunktionen für Modell-Trainingsabläufe in ML vereinheitlichen
  • Nutzerorientierte Daten-als-Produkt-Anwendungen entwickeln, die Erkenntnisse über Data-Mesh-Architekturen hinweg vermitteln
  • Analyseanwendungsfälle unterstützen, während Ihr Unternehmen On-Premises-Quellen zu AWS migriert

Athena speichert Abfrageergebnisse in einer Datei in S3. Dies bedeutet, dass Sie Athena verwenden können, um Verbunddaten für andere Benutzer und Anwendungen verfügbar zu machen. Wenn Sie Analysen der Daten mit Athena durchführen möchten, ohne die zugrunde liegende Quelle wiederholt abzufragen, verwenden Sie die Funktion CREATE TABLE AS von Athena. Außerdem können Sie die Funktion UNLOAD von Athena verwenden, um die Daten abzufragen und die Ergebnisse in einem spezifischen Dateiformat in S3 zu speichern

Ein Datenquellenkonnektor ist ein Codestück, das in Lambda ausgeführt wird und zwischen Ihrer Zieldatenquelle und Athena übersetzt. Wenn Sie einen Datenquellenkonnektor verwenden, um einen Datenspeicher bei Athena zu registrieren, können Sie SQL-Abfragen für Verbunddatenspeicher ausführen. Wenn eine Abfrage in einer Quelle im Verbund ausgeführt wird, ruft Athena die Lambda-Funktion auf und überträgt ihr die Aufgabe, die Teile der Abfrage auszuführen, die für die Quelle im Verbund spezifisch sind. Weitere Informationen finden Sie im Benutzerhandbuch zu Amazon Athena unter Nutzung von Amazon-Athena-Verbundabfrage

Machine Learning

Athena-Anwendungsfälle für ML erstrecken sich über verschiedene Branchen wie in den folgenden Beispielen. Analysten von Finanzrisikodaten können Was-wäre-wenn-Analysen und Monte-Carlo-Simulationen durchführen. Geschäftsanalysten können lineare Regressions- oder Prognosemodelle durchführen, um zukünftige Werte vorherzusagen und so umfassendere und zukunftsorientierte Geschäfts-Dashboards zu erstellen, mit denen Umsatzprognosen durchgeführt werden können. Marketinganalysten können k-Means-Clustering-Modelle verwenden, um die verschiedenen Kundensegmente zu bestimmen. Sicherheitsanalysten können logistische Regressionsmodelle (bivariant und multivariant) verwenden, um Anomalien zu finden und Sicherheitsvorfälle aus verschiedenen Protokollen zu ermitteln.

Athena kann jedes ML-Modell aufrufen, das in SageMaker bereitgestellt wird. Sie haben die Flexibilität, Ihr eigenes Modell mithilfe Ihrer proprietären Daten zu trainieren oder ein Modell zu verwenden, das in SageMaker vortrainiert und bereitgestellt wurde. Beispielsweise wird die Clusteranalyse wahrscheinlich anhand Ihrer eigenen Daten trainiert, da Sie neue Datensätze in dieselben Kategorien einteilen möchten, die Sie für vorherige Datensätze verwendet haben. Alternativ könnten Sie für die Vorhersage realer Sportereignisse ein öffentlich verfügbares Modell verwenden, da die verwendeten Trainingsdaten bereits öffentlich zugänglich sind. In der Regel werden domänenspezifische oder branchenspezifische Vorhersagen in SageMaker anhand Ihrer eigenen Daten trainiert, während für undifferenzierte ML-Anforderungen externe Modelle verwendet werden können.

Sie können Ihre ML-Modelle mit Athena nicht auf SageMaker trainieren und bereitstellen. Sie können Ihr ML-Modell trainieren oder ein vorhandenes, vortrainiertes Modell verwenden, das mit Athena in SageMaker bereitgestellt wird. Lesen Sie die Dokumentation mit detaillierten Trainingsschritten zu SageMaker.

Athena unterstützt nur das Aufrufen von ML-Modellen, die in SageMaker implementiert sind. Wir freuen uns über Feedback zu anderen Services, die Sie mit Athena nutzen möchten. Senden Sie uns Ihr Feedback per E-Mail an: [email protected].

Wir verbessern ständig die Betriebsleistung unserer Funktionen und Services. Um die Leistung Ihrer Athena ML-Abfragen zu verbessern, werden Zeilen in Batches verarbeitet, wenn Sie Ihr SageMaker-ML-Modell zur Inferenz aufrufen. Derzeit werden keine vom Benutzer angegebenen Überschreibungen der Batch-Größe unterstützt.

Athena bietet ML-Inferenz (Vorhersage)-Funktionen, die von einer SQL-Schnittstelle umschlossen sind. Sie können auch eine Athena-UDF aufrufen, um die Vor- oder Nachverarbeitungslogik für Ihre Ergebnismenge aufzurufen. Eingaben können jede Spalte, jeden Datensatz oder jede Tabelle enthalten, und mehrere Aufrufe können für eine höhere Skalierbarkeit zusammengefasst werden. Sie können die Inferenz in der Auswahlphase oder in der Filterphase ausführen. Weitere Informationen finden Sie im Benutzerhandbuch zu Amazon Athena unter Verwendung von Machine Learning (ML) mit Amazon Athena.

SageMaker unterstützt verschiedene ML-Algorithmen. Sie können auch Ihr proprietäres ML-Modell erstellen und in SageMaker bereitstellen. Beispielsweise wird die Clusteranalyse wahrscheinlich anhand Ihrer eigenen Daten trainiert, da Sie neue Datensätze in dieselben Kategorien einteilen möchten, die Sie für vorherige Datensätze verwendet haben. Alternativ könnten Sie für die Vorhersage realer Sportereignisse ein öffentlich verfügbares Modell verwenden, da die verwendeten Trainingsdaten öffentlich zugänglich sind.

Wir gehen davon aus, dass domänen- oder branchenspezifische Vorhersagen in der Regel in SageMaker an Ihren eigenen Daten trainiert werden, während undifferenzierte ML-Anforderungen wie maschinelle Übersetzung externe Modelle verwenden. 

Sicherheit und Verfügbarkeit

Amazon Athena unterstützt die präzise Zugriffskontrolle mit AWS Lake Formation. AWS Lake Formation ermöglicht die zentrale Verwaltung von Berechtigungen und Zugriffskontrolle für Datenkatalogressourcen in Ihrem S3-Data-Lake. Sie können in Athena-Abfragen für Daten, die in einem beliebigen unterstützten Dateiformat gespeichert sind, mithilfe von Tabellenformaten wie Apache Iceberg, Apache Hudi und Apache Hive fein abgestufte Zugriffskontrollrichtlinien durchsetzen. Sie erhalten die Flexibilität, das für Ihren Anwendungsfall am besten geeignete Tabellen- und Dateiformat zu wählen, und profitieren von der zentralisierten Datenverwaltung, die den Datenzugriff bei der Verwendung von Athena sichert. Sie können zum Beispiel das Iceberg-Tabellenformat verwenden, um Daten in Ihrem S3 Data Lake zu speichern, um zuverlässige Schreibtransaktionen in großem Umfang zu ermöglichen, zusammen mit Sicherheitsfiltern auf Zeilenebene in Lake Formation, so dass Datenanalysten, die in verschiedenen Ländern ansässig sind, nur auf die Daten von Kunden in ihrem eigenen Land zugreifen können, um die gesetzlichen Anforderungen zu erfüllen. Die neue, erweiterte Unterstützung für Tabellen- und Dateiformate erfordert keine Änderung der Art und Weise, wie Sie präzise Zugriffskontrollrichtlinien in Lake Formation einrichten, und benötigt die Athena-Engine-Version 3, die neue Funktionen und eine verbesserte Abfrageleistung bietet. Athena ermöglicht Ihnen die Steuerung des Datenzugriffs mithilfe von AWS Identity and Access Management (IAM)-Richtlinien, Zugriffssteuerungslisten (ACLs) und S3-Bucket-Richtlinien. Mit IAM-Richtlinien können Sie IAM-Benutzern eine differenzierte Kontrolle über Ihre S3-Buckets gewähren. Durch die Kontrolle des Zugriffs auf Daten in S3 können Sie die Abfrage der Daten durch Benutzer mithilfe von Athena einschränken.

Ja, Sie können Daten abfragen, die mit serverseitiger Verschlüsselung (SSE) mit von S3 verwalteten Verschlüsselungsschlüsseln, SSE mit von AWS Key Management Service (KMS) verwalteten Schlüsseln und clientseitiger Verschlüsselung (CSE) mit von AWS KMS verwalteten Schlüsseln verschlüsselt sind. Athena lässt sich auch mit AWS KMS integrieren und bietet Ihnen die Möglichkeit, Ihre Ergebnismengen zu verschlüsseln.

Ja. Athena ist hochverfügbar und führt Abfragen mithilfe der Rechenressourcen verschiedener Standorte aus. Sollte ein Standort nicht erreichbar sein, werden die Abfragen automatisch an den nächstgelegenen Standort weitergeleitet. Athena verwendet S3 als zugrunde liegenden Datenspeicher, wodurch Ihre Daten hoch verfügbar und nachhaltig sind. S3 bietet eine beständige Infrastruktur zum Speichern wichtiger Daten. Ihre Daten werden redundant an mehreren Standorten und auf mehreren Geräten an jedem Standort gespeichert.

Ja, Sie können kontoübergreifenden Zugriff auf S3 anbieten.

Preise und Abrechnung

Mit Athena können Sie wählen, ob Sie pro Abfrage auf der Grundlage der gescannten Daten oder auf der Grundlage der für Ihre Abfragen benötigten Rechenleistung bezahlen möchten. Der Preis pro Abfrage basiert auf der Menge der von der Abfrage gescannten Daten in Terabytes (TB). Sie können Daten in verschiedenen Formaten in S3 speichern. Wenn Sie Ihre Daten komprimieren, partitionieren oder in ein Spaltenformat umwandeln, entstehen weniger Kosten, da Sie weniger Daten abrufen. Die Umwandlung von Daten in ein Spaltenformat ermöglicht es Athena, nur die Spalten zu lesen, die zum Verarbeiten der Abfrage erforderlich sind. Mit Provisioned Capacity zahlen Sie einen Stundenpreis für die Abfrageverarbeitungskapazität, nicht für gescannte Daten. Sie können die Abrechnung pro Abfrage und die rechnergestützte Abrechnung innerhalb desselben Kontos verwenden. Weitere Details finden Sie auf der Seite Amazon Athena – Preise.

Bei der Abrechnung pro Anfrage berechnet Athena die pro Anfrage gescannte Datenmenge. Durch Komprimierung Ihrer Daten verringern Sie die Menge der von Athena durchsuchten Daten. Wenn Sie Ihre Daten in ein Spaltenformat umwandeln, kann Athena sich auf die Spalten beschränken, die zum Verarbeiten der Daten erforderlich sind. Wenn Sie Ihre Daten in Partitionen aufteilen, kann Athena ebenfalls die Menge der abgerufenen Daten einschränken. Dies führt zu Kosteneinsparungen und besserer Leistung. Weitere Details finden Sie auf der Seite Amazon Athena – Preise.

Sie können 30 bis 90 % Ihrer Abfragekosten einsparen und eine bessere Leistung erhalten, indem Sie Ihre Daten komprimieren, partitionieren oder in ein Spaltenformat umwandeln. Jeder dieser Vorgänge reduziert die Menge der gescannten Daten und den Zeitaufwand für die Ausführung. Diese Vorgänge werden auch empfohlen, wenn Sie Provisioned Capacity verwenden, da sie häufig die Zeit reduzieren, die eine Abfrage für die Ausführung benötigt.

Bei der Preisgestaltung pro Abfrage werden Ihnen keine Gebühren für fehlgeschlagene Abfragen berechnet.

Ja. Wenn Sie eine Abfrage manuell abbrechen, wird Ihnen die Menge der Daten in Rechnung gestellt, die bis zum Abbruch der Abfrage abgerufen wurden.

Athena fragt Daten direkt aus S3 ab. Daher werden Ihre Quelldaten zu S3-Gebühren in Rechnung gestellt. Wenn Athena eine Abfrage ausführt, werden die Ergebnisse in einem S3-Bucket Ihrer Wahl gespeichert. Diese Ergebnisse werden Ihnen dann zum S3-Standardtarif in Rechnung gestellt. Es wird empfohlen, diese Buckets zu überwachen und Lebenszyklusrichtlinien verwenden, um zu steuern, wie viele Daten aufbewahrt werden.

Ja. Die Nutzung des Datenkatalogs wird separat berechnet. Weitere Informationen zu Data-Catalog-Preisen finden Sie auf der Seite AWS Glue – Preise

Amazon Athena for Apache Spark

Athena unterstützt das Apache-Spark-Framework, um den Datenanalysten und Dateningenieuren ein interaktives, vollständig verwaltetes Erlebnis von Athena zu bieten. Apache Spark ist ein beliebtes, verteiltes Open-Source-Verarbeitungssystem, das für schnelle Analyse-Workloads für Daten beliebiger Größe optimiert wurde und ein reichhaltiges System von Open-Source-Bibliotheken bietet. Sie können jetzt Spark-Anwendungen in ausdrucksstarken Sprachen wie Python über ein vereinfachtes Notebook in der Athena-Konsole oder über Athena-APIs erstellen. Sie können Daten aus verschiedenen Quellen abfragen, mehrere Berechnungen miteinander verknüpfen und die Ergebnisse ihrer Analysen visualisieren. Bei interaktiven Spark-Anwendungen verbringen Sie weniger Zeit mit Warten und sind produktiver, da Athena die Anwendungen in weniger als einer Sekunde ausführt. Kunden erhalten eine vereinfachte und zweckmäßige Spark-Umgebung, die den Aufwand für Versions-Upgrades, Leistungsoptimierung und Integration mit anderen AWS-Services minimiert.

Verwenden Sie Athena für Apache Spark, wenn Sie eine interaktive, vollständig verwaltete Analyseumgebung und eine enge Integration mit AWS-Services benötigen. Sie können mit Spark-Analysen in Athena durchführen und dabei vertraute, ausdrucksstarke Sprachen wie Python und die wachsende Umgebung der Spark-Pakete verwenden. Sie können ihre Spark-Anwendungen auch über die Athena-APIs oder in vereinfachte Notebooks in der Athena-Konsole eingeben und Spark-Anwendungen innerhalb einer Sekunde ausführen, ohne die zugrunde liegende Infrastruktur einrichten und abstimmen zu müssen. Wie die SQL-Abfragefunktionen von Athena bietet auch Athena eine vollständig verwaltete Spark-Umgebung und kümmert sich automatisch um Leistungsoptimierung, Maschinenkonfigurationen und Software-Patches, sodass Sie sich nicht über Versions-Upgrades auf dem Laufenden halten müssen. Außerdem ist Athena eng mit anderen Analyseservices im AWS-System wie dem Datenkatalog integriert. Daher können Sie Spark-Anwendungen für Daten in S3-Data-Lakes erstellen, indem Sie auf Tabellen in Ihrem Datenkatalog verweisen.

Für den Einstieg in Athena für Apache Spark können Sie ein Notebook in der Athena-Konsole starten oder eine Sitzung über die AWS-Befehlszeilenschnittstelle (CLI) oder die Athena-API starten. In Ihrem Notebook können Sie Spark-Anwendungen mit Python starten und beenden. Athena lässt sich auch in den Datenkatalog integrieren, sodass Sie mit jeder Datenquelle arbeiten können, auf die im Katalog verwiesen wird, einschließlich Daten direkt in S3-Data-Lakes. Mit Notebooks können Sie jetzt Daten aus verschiedenen Quellen abfragen, mehrere Berechnungen miteinander verknüpfen und die Ergebnisse ihrer Analysen visualisieren. Bei Ihren Spark-Anwendungen können Sie in der Athena-Konsole den Ausführungsstatus überprüfen und Protokolle und den Ausführungsverlauf einsehen.

Athena für Apache Spark basiert auf der stabilen Spark-Version 3.2. Als vollständig verwaltete Engine stellt Athena einen benutzerdefinierten Build von Spark bereit und verarbeitet die meisten Spark-Versionsaktualisierungen automatisch und abwärtskompatibel, ohne dass Sie sich darum kümmern müssen

Sie zahlen nur für die Zeit, die Ihre Apache-Spark-Anwendung zur Ausführung benötigt. Sie zahlen einen Stundenpreis auf der Basis der Zahl von Data Processing Units (oder DPUs), die zum Ausführen Ihrer Apache-Spark-Anwendung genutzt werden. Eine einzelne DPU bietet 4 vCPU und 16 GB Arbeitsspeicher. Sie bezahlen in Schritten von 1 Sekunde, aufgerundet auf die nächste Minute.

Wenn Sie eine Spark-Sitzung starten, indem Sie entweder ein Notebook in der Athena-Konsole starten oder Athena-API verwenden, werden zwei Knoten für die Anwendung bereitgestellt: ein Notebook-Knoten, der als Server für die Benutzeroberfläche des Notebooks fungiert, und ein Spark-Treiberknoten, der die Spark-Anwendung koordiniert hat und mit allen Spark-Worker-Knoten kommuniziert. Athena berechnet Ihnen für Treiber- und Worker-Knoten eine Gebühr für die Dauer der Sitzung. Amazon Athena bietet Notebooks zur Konsole als Benutzerschnittstelle zur Erstellung, zum Einreichen und Ausführen von Apache-Spark-Anwendungen und bietet Ihnen diese ohne Zusatzkosten an. Athena berechnet für die Notebook-Knoten, die während der Spark-Sitzung verwendet werden, keine Gebühren.

Wann sollte Athena statt anderer Big-Data-Services verwendet werden?

Abfrageservices wie Athena, Data Warehouses wie Amazon Redshift und hoch entwickelte Frameworks zur Datenverarbeitung wie Amazon EMR sind für unterschiedliche Anforderungen und Anwendungsfälle konzipiert. Sie müssen lediglich das richtige Tool für den Job auswählen. Amazon Redshift bietet die schnellste Abfrageleistung für Unternehmensberichte und Business Intelligence-Workloads, besonders wenn es sich um komplexe SQL-Abfragen mit mehreren Joins und Unterabfragen handelt. Amazon EMR vereinfacht den Prozess und macht die Ausführung hochgradig verteilter Verarbeitungsframeworks wie Apache Hadoop, Spark und Presto im Vergleich zu On-Premises-Bereitstellungen kostengünstiger. Amazon EMR ist flexibel: Sie können benutzerdefinierte Anwendungen und Code ausführen sowie spezielle Parameter für Computing, Speicher und Anwendungen definieren, um Ihre Analyseanforderungen zu verbessern. Athena bietet eine vereinfachte Möglichkeit, interaktive Abfragen für Daten in S3 auszuführen, ohne dass Sie Server einrichten oder verwalten müssen.

Amazon Athena und Amazon Redshift Serverless adressieren unterschiedliche Anforderungen und Anwendungsfälle, auch wenn beide Services Serverless sind und SQL-Benutzer ermöglichen.

Mit seiner Massively-Parallel-Processing (MPP)-Architektur, die Speicher und Rechenleistung trennt, und den durch Machine Learning geleiteten automatischen Optimierungsfunktionen ist ein Data Warehouse wie Amazon Redshift, ob Serverless oder bereitgestellt, eine hervorragende Wahl für Kunden, die für komplexe BI- und Analyse-Workloads die beste Preisleistung in jedem Maßstab benötigen. Redshift eignet sich am besten für das Vorantreiben der skalierten Analytik und für massive, strukturierte und semi-strukturierte Datensätze. Amazon Redshift bietet eine gute Abfrageleistung für Unternehmensberichte und Business Intelligence-Workloads, besonders wenn es sich um extrem komplexe SQL-Abfragen mit mehreren Joins und Unterabfragen handelt. Redshift bietet eine tiefe Integration mit AWS-Datenbank, Analyse und ML-Services, damit Kunden auf vorhandene Daten zugreifen oder Daten leicht erfassen oder ins Warehouse verschieben können, um eine leistungsstarke Analyse durch minimale ETL und Methoden ohne Code zu erzielen. Mit föderierten Abfrage-Funktionen, Amazon Redshift Spectrum, Integration mit Amazon Aurora, AWS Data Exchange, Streaming-Daten-Services und anderen können Sie dank Redshift Daten von mehreren Quellen verwenden, die Daten im Warehouse kombinieren und Analysen und außerdem noch Machine Learning durchführen. Redshift bietet sowohl bereitgestellte als auch Serverless-Optionen, um die ersten Schritte der Analytik ohne Verwaltung der Infrastruktur durchzuführen.

Athena eignet sich hervorragend für die interaktive Analyse und Datenexploration von Daten in Amazon Simple Storage Service (S3) oder einer beliebigen Datenquelle über ein erweiterbares Konnektor-Framework (mit mehr als 30 einsatzfertigen Konnektoren für Anwendungen und On-Premises- oder andere Cloud-Analysesysteme), mit einem benutzerfreundlichen SQL-Syntax. Amazon Athena basiert auf Open-Source-Engines und -Frameworks wie Spark, Presto und Apache Iceberg und bietet Kunden die Flexibilität, Python oder SQL zu verwenden oder mit offenen Datenformaten zu arbeiten. Wenn Kunden interaktive Analysen mit Open-Source-Frameworks und -Datenformaten durchführen möchten, ist Amazon Athena ein hervorragender Ausgangspunkt. Athena ist komplett Serverless. Das bedeutet, dass es keine Infrastruktur gibt, die man verwalten oder einrichten muss. Die Offenheit von Athena erhöht die Daten-Portierbarkeit. Dadurch können Kunden Daten zwischen verschiedenen Anwendungen, Programmen und sogar Cloud-Service-Anbietern verschieben. Athena hat kürzlich einen neuen kontinuierlichen Integrationsansatz zur Verwaltung der Open-Source-Software übernommen, der die neuesten Funktionen von Trino-, PrestoDB- und Apache-Iceberg-Projekten fortlaufend integrieren wird.

Amazon EMR bietet viel mehr als nur SQL-Abfragen. Mit Amazon EMR können Sie verschiedene skalierbare Datenverarbeitungsaufgaben für Anwendungen ausführen, z. B. Machine Learning (ML), Diagrammanalyse, Datentransformation, Streaming von Daten und praktisch alles, was sich programmieren lässt. Verwenden Sie Amazon EMR, wenn Sie benutzerdefinierten Code zur Verarbeitung und Analyse großer Datensätze mit den neuesten Frameworks für Big-Data-Verarbeitung wie Apache HBase, Spark, Hadoop oder Presto verwenden. Amazon EMR gibt Ihnen die volle Kontrolle über die Konfiguration Ihrer Cluster und der darauf installierten Software.

Sie sollten Athena verwenden, wenn Sie interaktive SQL-Abfragen für Daten auf S3 ausführen möchten, ohne eine Infrastruktur oder Cluster verwalten zu müssen.

EMR Serverless ist der einfachste Weg, Spark- und Hive-Anwendungen in der Cloud auszuführen und ist die einzige Serverless-Hive-Lösung in der Branche. Mit EMR Serverless können Sie die betriebliche Überlastung des Optimierens, des Anpassens, der Sicherung, des Patchings und der Verwaltung von Clustern beseitigen und nur die Ressourcen bezahlen, die Ihre Anwendungen tatsächlich nutzen. Mit EMRs leistungsoptimierter Laufzeit erhalten Sie eine doppelt so schnelle Leistung als Standard-Open-Source. Ihre Anwendungen laufen also schneller und senken Ihre Rechenkosten. EMRs leistungsoptimierte Laufzeit ist zu 100 % mit der API kompatibel mit der Standard-Open-Source. Sie müssen also Ihre Anwendungen nicht neu schreiben, um Sie auf EMR ausführen zu können. Sie müssen auch über keine tiefen Spark-Fachkenntnisse verfügen, um sie einzuschalten, da diese standardmäßig eingeschaltet werden. EMR bietet die Möglichkeit, Anwendungen auf EMR-Clustern, EKS-Clustern, oder EMR Serverless auszuführen. EMR-Cluster eignen sich für Kunden, die maximale Kontrolle und Flexibilität über die Ausführung ihrer Anwendung benötigen. Mit EMR-Clustern können Kunden den Typ der EC2-Instance auswählen, um, die Amazon-Linux-Image-AMI anzupassen, die EC2-Instance-Konfiguration anzupassen, Open-Source-Frameworks anzupassen und zu erweitern und um zusätzliche benutzerdefinierte Software auf Cluster-Instances zu installieren. EMR auf EKS eignet sich für Kunden, die die EKS standardisieren möchten, um Cluster bei allen Anwendungen zu verwalten oder die verschiedenen Versionen eines Open-Source-Frameworks auf dem gleichen Cluster zu verwenden. EMR Serverless eignet sich für Kunden, die die Verwaltung und den Betrieb von Clustern vermeiden möchten und, Anwendungen einfach mit Open-Source-Frameworks ausführen möchten.

Wenn Kunden sofort ein interaktives Erlebnis haben möchten, dass dem interaktiven SQL-basierten Abfrage-Erlebnis mit Amazon Athena ähnelt, dann können Sie sich für Amazon Athena für Apache Spark entscheiden. Das Kundenerlebnis mit Athena ist für interaktive Anwendungen mit kurzen Laufzeiten optimiert und erfordert eine Startzeit von weniger als einer Sekunde. Amazon Athena kümmert sich um die Leistungsoptimierung, Konfigurationen, Software-Patching und aktualisiert automatisch ohne Kundenbeteiligung. Amazon Athena für Apache Spark bietet eine benutzerfreundliche Erfahrung für die Datenanalysten und Entwickler mit Kenntnissen der PySpark-Programmiersprache und mit Interesse in der Datenexploration und der unverzüglichen Ausführung von interaktiver Analytik.

Ja, Athena unterstützt viele der gleichen Datenformate wie Amazon EMR. Der Athena Data Catalog ist mit dem Hive-Metaspeicher kompatibel. Wenn Sie Amazon EMR verwenden und bereits über einen Hive-Metaspeicher verfügen, führen Sie Ihre DDL-Anweisungen auf Athena aus und können dann sofort mit der Abfrage Ihrer Daten beginnen, ohne Ihre Amazon-EMR-Aufträge zu beeinträchtigen. 

Mit der Verbundabfrage in Athena können Sie auf einheitliche Weise SQL-Abfragen über verschiedene relationale, nichtrelationale und benutzerdefinierte Datenquellen hinweg ausführen.

Athena SQL-Abfragen können ML-Modelle aufrufen, die in Amazon SageMaker bereitgestellt wurden. Sie können den S3-Speicherort angeben, an dem die Ergebnisse dieser Athena-SQL-Abfragen gespeichert werden sollen.