Connettore Amazon Athena Neptune - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connettore Amazon Athena Neptune

Amazon Neptune è un servizio di database a grafo gestito rapido e affidabile che rende più semplice la creazione e l'esecuzione di applicazioni che funzionano con set di dati altamente connessi. Il motore di database a grafo dedicato e a prestazioni elevate di Neptune archivia miliardi di relazioni e invia query al grafo con una latenza di millisecondi. Per ulteriori informazioni, consulta la Guida per l'utente di Neptune.

Il connettore Amazon Athena Neptune consente ad Athena di comunicare con l'istanza del database a grafo Neptune, rendendo i dati del grafico Neptune accessibili tramite query SQL.

Se hai abilitato Lake Formation nel tuo account, il ruolo IAM per il tuo connettore Lambda federato Athena che hai distribuito nell'accesso in lettura deve avere accesso in lettura in AWS Serverless Application Repository Lake Formation a. AWS Glue Data Catalog

Prerequisiti

L'utilizzo del connettore Neptune richiede i seguenti tre passaggi.

Limitazioni

Attualmente, il Neptune Connector presenta le seguenti limitazioni.

  • La proiezione di colonne, inclusa la chiave primaria (ID), non è supportata.

Configurazione di un cluster Neptune

Se non disponi di un cluster Amazon Neptune esistente e di un set di dati con grafici delle proprietà che desideri utilizzare, devi configurarne uno.

Assicurati che siano disponibili un gateway Internet e un gateway NAT nel VPC che ospita il cluster Neptune. Le sottoreti private utilizzate dalla funzione Lambda del connettore Neptune devono avere un instradamento verso Internet tramite questo gateway NAT. La funzione Lambda del connettore Neptune utilizza il gateway NAT per comunicare. AWS Glue

Per istruzioni su come configurare un nuovo cluster Neptune e caricarlo con un set di dati di esempio, consulta Sample Neptune Cluster Setup su .com. GitHub

Configurazione di un AWS Glue Data Catalog

A differenza dei tradizionali archivi di dati relazionali, gli edge e i nodi DB dei grafici di Neptune non utilizzano uno schema prestabilito. Ogni voce può avere campi e tipi di dati diversi. Tuttavia, poiché il connettore Neptune recupera i metadati da AWS Glue Data Catalog, è necessario creare AWS Glue un database con tabelle con lo schema richiesto. Dopo aver creato il database e le tabelle AWS Glue , il connettore può compilare l'elenco delle tabelle disponibili per le query da Athena.

Come abilitare la corrispondenza delle colonne senza distinzione tra maiuscole

Per risolvere i nomi delle colonne della tabella Neptune con l'uso corretto delle maiuscole e delle minuscole anche quando i nomi delle colonne sono tutti AWS Glue in minuscolo, puoi configurare il connettore Neptune per la corrispondenza senza distinzione tra maiuscole e minuscole.

Per abilitare questa funzionalità, imposta la variabile di ambiente enable_caseinsensitivematch su true nella funzione Lambda del connettore Neptune.

Specificazione del parametro glabel per i nomi delle tabelle con maiuscole e minuscole AWS Glue

Poiché AWS Glue supporta solo nomi di tabella minuscoli, è importante specificare il parametro glabel AWS Glue table quando si crea una tabella per Neptune e il nome della AWS Glue tabella Neptune include il maiuscolo.

Nella definizione della AWS Glue tabella, includete il glabel parametro e impostate il suo valore sul nome della tabella con l'involucro originale. Ciò garantisce che l'involucro corretto venga preservato quando AWS Glue interagisce con il tavolo Neptune. Nell'esempio seguente il valore di glabel è impostato sul nome della tabella Airport.

glabel = Airport
Impostazione della proprietà glabel AWS Glue table per preservare l'indicizzazione del nome della tabella per una tabella di Neptune

Per ulteriori informazioni sulla configurazione di un dispositivo AWS Glue Data Catalog per l'utilizzo con Neptune, consulta AWS Glue Configurare il catalogo su .com. GitHub

Prestazioni

Il connettore Athena Neptune esegue il pushdown del predicato per ridurre la quantità di dati scansionati dalla query. Tuttavia, i predicati che utilizzano la chiave primaria comportano un errore di query. Le clausole LIMIT riducono la quantità di dati scansionati, ma se non viene fornito un predicato, le query SELECT con una clausola LIMIT eseguiranno la scansione di almeno 16 MB di dati. Il connettore Neptune è resiliente alla limitazione della larghezza di banda della rete dovuta alla simultaneità.

Interrogazioni pass-through

Il connettore Neptune supporta le query passthrough. È possibile utilizzare questa funzionalità per eseguire query Gremlin sui grafici delle proprietà e per eseguire query SPARQL sui dati RDF.

Per creare query passthrough con Neptune, utilizzate la seguente sintassi:

SELECT * FROM TABLE( system.query( DATABASE => 'database_name', COLLECTION => 'collection_name', QUERY => 'query_string' ))

L'esempio seguente: filtri di interrogazione passthrough di Neptune per gli aeroporti con il codice. ATL Le virgolette singole raddoppiate servono per scappare.

SELECT * FROM TABLE( system.query( DATABASE => 'graph-database', COLLECTION => 'airport', QUERY => 'g.V().has(''airport'', ''code'', ''ATL'').valueMap()' ))

Risorse aggiuntive

Per ulteriori informazioni su questo connettore, visitate il sito corrispondente su GitHub .com.