Filter verwenden

Bigtable bietet die folgenden Filtertypen:

  • Begrenzungsfilter, die steuern, welche Zeilen oder Zellen in der Antwort enthalten sind.
  • Änderungsfilter, die sich auf die Daten oder Metadaten einzelner Zellen auswirken.
  • Kombinationsfilter, mit denen Sie mehrere Filter zu einem einzigen Filter zusammenfassen können.

Auf dieser Seite werden die einzelnen Bigtable-Filter ausführlich beschrieben. Außerdem wird gezeigt, wie Sie die einzelnen Filtertypen mithilfe der Cloud-Clientbibliotheken verwenden. Bevor Sie diese Seite lesen, sollten Sie die Filter lesen.

Weitere Beispiele zum Verwenden von Filtern zum Lesen mehrerer Datenzeilen finden Sie unter Daten lesen.

Daten für Beispiele

In den Beispielen auf dieser Seite wird davon ausgegangen, dass Sie Zeitachsendaten für Smartphones und Tablets speichern und dass die folgenden Daten in eine Tabelle geschrieben wurden. Die Tabelle umfasst die zwei Spaltenfamilien stats_summary und cell_plan. Jede Spaltenfamilie hat drei Spalten.

stats_summary cell_plan
Zeilenschlüssel connected_cell connected_wifi os_build data_plan_01gb data_plan_05gb data_plan_10gb
phone#4c410523#20190501 1 1 PQ2A.190405.003 true@time minus eine Stunde

False @time
true
phone#4c410523#20190502 1 1 PQ2A.190405.004 true
phone#4c410523#20190505 0 1 PQ2A.190406.000 true
phone#5c10102#20190501 1 1 PQ2A.190401.002 true
phone#5c10102#20190502 1 0 PQ2A.190406.000 true

Begrenzungsfilter

In den folgenden Abschnitten werden die verschiedenen Begrenzungsfilter beschrieben. Begrenzungsfilter geben bestimmte Kriterien vor, von denen es abhängt, ob bestimmte Zeilen oder Zellen in der Antwort enthalten sind.

Beachten Sie beim Kombinieren mehrerer Begrenzungsfilter mithilfe einer Kette, dass die Eingabezeile jedes Filters in der Kette die Ausgabezeile des vorherigen Filters in der Kette ist. Ein Beispiel: Wenn Sie zwei Filter verketten und der erste Filter nur zwei Zellen aus der ursprünglichen Zeile ausgibt, erkennt der zweite Filter nur diese beiden Zellen.

Zeilenauswahlfilter

In diesem Abschnitt werden die Filter beschrieben, mit denen Sie Zeilen in einer Tabelle abrufen können.

Zeilenbeispiel

Mit diesem Filter können Sie eine zufällige Auswahl von Zeilen innerhalb eines bestimmten Bereichs abrufen. Anhand einer von Ihnen angegebenen Wahrscheinlichkeit bestimmt der Filter nach dem Zufallsprinzip, ob die Ausgabezeile mit der Eingabezeile identisch sein soll oder in den Ergebnissen weggelassen werden soll.

Go

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

func filterLimitRowSample(w io.Writer, projectID, instanceID string, tableName string) error {
	filter := bigtable.RowSampleFilter(.75)
	return readWithFilter(w, projectID, instanceID, tableName, filter)
}

HBase

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

public static void filterLimitRowSample() {
  // TODO(developer): Replace these variables before running the sample.
  String projectId = "my-project-id";
  String instanceId = "my-instance-id";
  String tableId = "mobile-time-series";
  filterLimitRowSample(projectId, instanceId, tableId);
}

public static void filterLimitRowSample(String projectId, String instanceId, String tableId) {
  // A filter that matches cells from a row with probability .75
  Filter filter = new RandomRowFilter(.75f);
  Scan scan = new Scan().setFilter(filter);