Auf dieser Seite wird beschrieben, wie Sie Abfragen für spaltenorientierte Daten ausführen.
Spaltendaten abfragen
Mit dem Hinweis @{scan_method=columnar}
kann eine Abfrage Spaltendaten lesen.
Sie können den Hinweis scan_method
auf Anweisungsebene oder auf Tabellenebene festlegen.
Mit den folgenden Abfragen können Sie beispielsweise Spaltendaten aus den Tabellen Singers
und Messages
lesen:
@{scan_method=columnar} SELECT COUNT(*) FROM Singers;
SELECT COUNT(*) FROM Singers @{scan_method=columnar};
@{scan_method=columnar} SELECT m.MsgBlob FROM Messages WHERE m.id='1234';
Spaltenbasierte Spanner-Daten mit föderierten BigQuery-Abfragen abfragen
Wenn Sie spaltenbasierte Spanner-Daten aus BigQuery lesen möchten, können Sie entweder ein externes Dataset erstellen oder die Funktion EXTERNAL_QUERY
verwenden.
Wenn Sie externe Datasets abfragen, werden automatisch spaltenweise Daten verwendet, sofern sie verfügbar und für Ihre Abfrage geeignet sind.
Wenn Sie die Funktion EXTERNAL_QUERY
verwenden, fügen Sie den Hinweis @{scan_method=columnar}
in die verschachtelte Spanner-Abfrage ein.
Im folgenden Beispiel gilt:
- Das erste Argument für
EXTERNAL_QUERY
gibt die externe Verbindung und das Dataset an:my-project.us.albums
. - Das zweite Argument ist eine SQL-Abfrage, mit der
MarketingBudget
aus der TabelleAlbumInfo
ausgewählt wird, wobeiMarketingBudget
kleiner als 500.000 ist. - Mit dem Hinweis
@{scan_method=columnar}
wird die externe Abfrage für das spaltenweise Scannen optimiert. - Mit der äußeren
SELECT
-Anweisung wird die Summe derMarketingBudget
-Werte berechnet, die von der externen Abfrage zurückgegeben werden. - Mit der
AS total_marketing_spend
-Klausel wird der berechneten Summe ein Alias zugewiesen.
SELECT SUM(MarketingBudget) AS total_marketing_spend
FROM
EXTERNAL_QUERY(
'my-project.us.albums',
'@{scan_method=columnar} SELECT AlbumInfo.MarketingBudget FROM AlbumInfo WHERE AlbumInfo.MarketingBudget < 500000;');
Nächste Schritte
- Weitere Informationen zur spaltenbasierten Engine
- Weitere Informationen zum Aktivieren der spaltenorientierten Engine
- Spaltenorientierte Engine überwachen