Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Beispiele: Koordinatenbasierte Abfragen

Fokusmodus
Beispiele: Koordinatenbasierte Abfragen - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Beispiele in diesem Thema erstellen zwei Tabellen aus Beispieldaten, die auf verfügbar sind, GitHub und fragen die Tabellen auf der Grundlage der Daten ab. Die Beispieldaten, die nur zu Illustrationszwecken dienen und nicht garantiert korrekt sind, befinden sich in den folgenden Dateien:

  • earthquakes.csv – Führt Erdbeben auf, die sich in Kalifornien ereignet haben. In der earthquakes-Beispieltabelle werden Felder aus diesen Daten verwendet.

  • california-counties.json – Führt Daten auf Landkreisebene für den Bundesstaat Kalifornien im ESRI-gemäßen GeoJSON-Format auf. Die Daten beinhalten zahlreiche Felder wie AREA, PERIMETER, STATE, COUNTY und NAME, aber die counties-Beispieltabelle verwendet nur zwei: Name (Zeichenfolge) und BoundaryShape (binär).

    Anmerkung

    Athena verwendet die com.esri.json.hadoop.EnclosedEsriJsonInputFormat, um die JSON-Daten in das koordinatenbasierte Binärformat zu konvertieren.

Mit dem folgenden Code-Beispiel wird eine Tabelle namens earthquakes erstellt:

CREATE external TABLE earthquakes ( earthquake_date string, latitude double, longitude double, depth double, magnitude double, magtype string, mbstations string, gap string, distance string, rms string, source string, eventid string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION 's3://amzn-s3-demo-bucket/my-query-log/csv/';

Mit dem folgenden Code-Beispiel wird eine Tabelle namens counties erstellt:

CREATE external TABLE IF NOT EXISTS counties ( Name string, BoundaryShape binary ) ROW FORMAT SERDE 'com.esri.hadoop.hive.serde.EsriJsonSerDe' STORED AS INPUTFORMAT 'com.esri.json.hadoop.EnclosedEsriJsonInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/my-query-log/json/';

Die folgende Beispielabfrage verwendet die Funktion CROSS JOIN für die counties- und earthquake-Tabellen. Im Beispiel wird ST_CONTAINS verwendet, um nach Landkreisen abzufragen, deren Grenzen Erdbebenstandorte enthalten, die mit ST_POINT angegeben sind. Die Abfrage gruppiert solche Landkreise nach Namen, ordnet sie nach Anzahl und gibt sie in absteigender Reihenfolge zurück.

SELECT counties.name, COUNT(*) cnt FROM counties CROSS JOIN earthquakes WHERE ST_CONTAINS (ST_GeomFromLegacyBinary(counties.boundaryshape), ST_POINT(earthquakes.longitude, earthquakes.latitude)) GROUP BY counties.name ORDER BY cnt DESC

Diese Abfrage gibt Folgendes zurück:

+------------------------+ | name | cnt | +------------------------+ | Kern | 36 | +------------------------+ | San Bernardino | 35 | +------------------------+ | Imperial | 28 | +------------------------+ | Inyo | 20 | +------------------------+ | Los Angeles | 18 | +------------------------+ | Riverside | 14 | +------------------------+ | Monterey | 14 | +------------------------+ | Santa Clara | 12 | +------------------------+ | San Benito | 11 | +------------------------+ | Fresno | 11 | +------------------------+ | San Diego | 7 | +------------------------+ | Santa Cruz | 5 | +------------------------+ | Ventura | 3 | +------------------------+ | San Luis Obispo | 3 | +------------------------+ | Orange | 2 | +------------------------+ | San Mateo | 1 | +------------------------+

Weitere Ressourcen

Weitere Beispiele für koordinatenbasierte Abfragen finden Sie in den folgenden Blogbeiträgen:

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.