Spec-Zone.ru › TensorFlow 1.15

tf.contrib.cloud.BigtableTable

Точка входа для чтения и записи данных в Cloud Bigtable.

tf.contrib.cloud.BigtableTable(
    name, snapshot, resource
)

Этот класс BigtableTable представляет собой Python-представление таблицы Cloud Bigtable в TensorFlow. Методы этого класса позволяют читать и записывать данные в службу Cloud Bigtable гибким и высокопроизводительным способом.

Методы

keys_by_prefix_dataset

Просмотреть исходный код

keys_by_prefix_dataset(
    prefix
)

Возвращает ключи строк, соответствующие заданному префиксу.

Аргументы
prefix Все ключи строк, начинающиеся с prefix в таблице, будут извлечены.
Возвращаемое значение
A tf.data.Dataset. содержащий tf.string тензоры, соответствующие всем ключам строк, соответствующим этому префиксу.

keys_by_range_dataset

Просмотреть исходный код

keys_by_range_dataset(
    start, end
)

Возвращает все ключи строк между началом и концом.

Примечание: оно НЕ возвращает значения столбцов.
Аргументы
start Начальный ключ строки. Ключи строк для строк после начала (включительно) будут извлечены.
end (Необязательно.) Конечный ключ строки. Строки до (но не включая) конца будут извлечены. Если конец равен None, все последующие ключи строк будут извлечены.
Возвращаемое значение
A tf.data.Dataset содержащий tf.string тензоры, соответствующие всем ключам строк между start и end.

lookup_columns

Просмотреть исходный код

lookup_columns(
    *args, **kwargs
)

Возвращает значения столбцов для набора ключей.

Пример использования:

table = bigtable_client.table("my_table")
key_dataset = table.get_keys_prefix("imagenet")
images = key_dataset.apply(table.lookup_columns(("cf1", "image"),
                                                ("cf2", "label"),
                                                ("cf2", "boundingbox")))
training_data = images.map(parse_and_crop, num_parallel_calls=64).batch(128)

В качестве альтернативы, вы можете использовать ключевые аргументы для указания столбцов для захвата. Пример (то же самое, что и выше, переписанный):

table = bigtable_client.table("my_table")
key_dataset = table.get_keys_prefix("imagenet")
images = key_dataset.apply(table.lookup_columns(
    cf1="image", cf2=("label", "boundingbox")))
training_data = images.map(parse_and_crop, num_parallel_calls=64).batch(128)
Примечание: некоторые kwargs ключи зарезервированы, и поэтому некоторые семейства столбцов не могут быть идентифицированы с использованием синтаксиса kwargs. Вместо этого, используйте синтаксис args. Этот список включает:
  • 'name'
Примечание: этот список может измениться в любое время.
Аргументы
*args Список кортежей, содержащих пары (семейство столбцов, имя столбца).
**kwargs Семьи столбцов (ключи) и квалификаторы столбцов (значения).
Возвращаемое значение
Функция, которую можно передать в tf.data.Dataset.apply для получения значений столбцов для строк.

parallel_scan_prefix

Просмотреть исходный код

parallel_scan_prefix(
    prefix, num_parallel_scans=None, probability=None, columns=None, **kwargs
)

Получает строки (включая значения) из службы Bigtable с высокой скоростью.

Строки с ключом строки, начинающимся с prefix, будут извлечены. Этот метод похож на scan_prefix, но в отличие от него выполняет несколько подсканирований параллельно для достижения более высокой производительности.

Примечание: Множество, созданное этим методом, не является детерминированным!

Указание столбцов для извлечения для каждой строки выполняется с помощью аргументов kwargs или в параметре столбцы. Для извлечения значений столбцов "c1" и "c2" из семейства столбцов "cfa" и значения столбца "c3" из семейства столбцов "cfb" следующие наборы данных (ds1, и ds2) эквивалентны:

table = # ...
ds1 = table.parallel_scan_prefix("row_prefix", columns=[("cfa", "c1"),
                                                        ("cfa", "c2"),
                                                        ("cfb", "c3")])
ds2 = table.parallel_scan_prefix("row_prefix", cfa=["c1", "c2"], cfb="c3")
Примечание: будет извлечено только последнее значение ячейки.
Аргументы
prefix Префикс, которому все ключи строк должны соответствовать, чтобы быть извлеченными для сканирования по префиксу.
num_parallel_scans (Необязательно.) Количество одновременных сканирований экземпляра Cloud Bigtable.
probability (Необязательно.) Вещественное число от 0 (исключительно) до 1 (включительно). Значение, отличное от 1, указывает на вероятностную выборку строк с заданной вероятностью.
columns Столбцы для чтения. Примечание: чаще всего они выражаются как kwargs. Используйте значение столбцов, если вы используете семейства столбцов, которые зарезервированы. Значения столбцов и kwargs объединяются. Столбцы — это список кортежей строк ("column_family", "column_qualifier").
**kwargs Семьи столбцов и столбцы для чтения. Ключи обрабатываются как column_families, а значения могут быть либо списками строк, либо строками, которые обрабатываются как column_qualifier (имя столбца).
Возвращаемое значение
A tf.data.Dataset возвращающий ключи строк и содержимое ячеек.
Исключения
ValueError Если настроенная вероятность не соответствует ожиданиям.

parallel_scan_range

Просмотреть исходный код

parallel_scan_range(
    start, end, num_parallel_scans=None, probability=None, columns=None, **kwargs
)

Получает строки (включая значения) из службы Bigtable.

Строки с ключами строк между start и end будут извлечены. Этот метод похож на scan_range, но в отличие от него выполняет несколько подсканирований параллельно для достижения более высокой производительности.

Примечание: Множество, созданное этим методом, не является детерминированным!

Указание столбцов для извлечения для каждой строки выполняется с помощью аргументов kwargs или в параметре столбцы. Для извлечения значений столбцов "c1" и "c2" из семейства столбцов "cfa" и значения столбца "c3" из семейства столбцов "cfb" следующие наборы данных (ds1, и ds2) эквивалентны:

table = # ...
ds1 = table.parallel_scan_range("row_start",
                                "row_end",
                                columns=[("cfa", "c1"),
                                         ("cfa", "c2"),
                                         ("cfb", "c3")])
ds2 = table.parallel_scan_range("row_start", "row_end",
                                cfa=["c1", "c2"], cfb="c3")
Примечание: будет извлечено только последнее значение ячейки.
Аргументы
start Начало диапазона при сканировании по диапазону.
end (Необязательно.) Конец диапазона при сканировании по диапазону.
num_parallel_scans (Необязательно.) Количество одновременных сканирований экземпляра Cloud Bigtable.
probability (Необязательно.) Вещественное число от 0 (исключительно) до 1 (включительно). Значение, отличное от 1, указывает на вероятностную выборку строк с заданной вероятностью.
columns Столбцы для чтения. Примечание: чаще всего они выражаются как kwargs. Используйте значение столбцов, если вы используете семейства столбцов, которые зарезервированы. Значения столбцов и kwargs объединяются. Столбцы — это список кортежей строк ("column_family", "column_qualifier").
**kwargs Семьи столбцов и столбцы для чтения. Ключи обрабатываются как column_families, а значения могут быть либо списками строк, либо строками, которые обрабатываются как column_qualifier (имя столбца).
Возвращаемое значение
A tf.data.Dataset возвращающий ключи строк и содержимое ячеек.
Исключения
ValueError Если настроенная вероятность не соответствует ожиданиям.

sample_keys

Просмотреть исходный код

sample_keys()

Извлекает выборку ключей строк из таблицы Bigtable.

Этот набор данных чаще всего используется совместно с tf.data.experimental.parallel_interleave для построения набора диапазонов для параллельного сканирования.

Возвращаемое значение
A tf.data.Dataset возвращающий строковые ключи строк.

scan_prefix

Просмотреть исходный код

scan_prefix(
    prefix, probability=None, columns=None, **kwargs
)

Получает строки (включая значения) из службы Bigtable.

Строки с ключом строки, начинающимся с prefix, будут извлечены.

Указание столбцов для извлечения для каждой строки выполняется с помощью kwargs или в параметре columns. Для извлечения значений столбцов "c1" и "c2" из семейства столбцов "cfa" и значения столбца "c3" из семейства столбцов "cfb" следующие наборы данных (ds1, и ds2) эквивалентны:

table = # ...
ds1 = table.scan_prefix("row_prefix", columns=[("cfa", "c1"),
                                               ("cfa", "c2"),
                                               ("cfb", "c3")])
ds2 = table.scan_prefix("row_prefix", cfa=["c1", "c2"], cfb="c3")
Примечание: будет извлечено только последнее значение ячейки.
Аргументы
prefix Префикс, которому должны соответствовать все ключи строк для извлечения при сканировании по префиксу.
probability (Необязательно.) Число с плавающей точкой от 0 (исключительно) до 1 (включительно). Значение, отличное от 1, указывает на вероятностную выборку строк с указанной вероятностью.
columns Столбцы для чтения. Примечание: чаще всего они выражаются как kwargs. Используйте значение columns, если вы используете зарезервированные семейства столбцов. Значения columns и kwargs объединяются. Columns — это список кортежей строк ("column_family", "column_qualifier").
**kwargs Семьи столбцов и столбцы для чтения. Ключи обрабатываются как column_families, а значения могут быть либо списками строк, либо строками, которые обрабатываются как column qualifier (имя столбца).
Возвращаемое значение
A tf.data.Dataset возвращает ключи строк и содержимое ячеек.
Исключения
ValueError Если заданная вероятность неожидаема.

scan_range

Посмотреть исходный код

scan_range(
    start, end, probability=None, columns=None, **kwargs
)

Извлекает строки (включая значения) из сервиса Bigtable.

Будут извлечены строки с ключами строк между start и end.

Указание столбцов для извлечения для каждой строки выполняется с помощью kwargs или в параметре columns. Для извлечения значений столбцов "c1" и "c2" из семейства столбцов "cfa" и значения столбца "c3" из семейства столбцов "cfb" следующие наборы данных (ds1, и ds2) эквивалентны:

table = # ...
ds1 = table.scan_range("row_start", "row_end", columns=[("cfa", "c1"),
                                                        ("cfa", "c2"),
                                                        ("cfb", "c3")])
ds2 = table.scan_range("row_start", "row_end", cfa=["c1", "c2"], cfb="c3")
Примечание: будет извлечено только последнее значение ячейки.
Аргументы
start Начало диапазона при сканировании по диапазону.
end (Необязательно.) Конец диапазона при сканировании по диапазону.
probability (Необязательно.) Число с плавающей точкой от 0 (исключительно) до 1 (включительно). Значение, отличное от 1, указывает на вероятностную выборку строк с указанной вероятностью.
columns Столбцы для чтения. Примечание: чаще всего они выражаются как kwargs. Используйте значение columns, если вы используете зарезервированные семейства столбцов. Значения columns и kwargs объединяются. Columns — это список кортежей строк ("column_family", "column_qualifier").
**kwargs Семьи столбцов и столбцы для чтения. Ключи обрабатываются как column_families, а значения могут быть либо списками строк, либо строками, которые обрабатываются как column qualifier (имя столбца).
Возвращаемое значение
A tf.data.Dataset возвращает ключи строк и содержимое ячеек.
Исключения
ValueError Если заданная вероятность неожидаема.

write

Посмотреть исходный код

write(
    dataset, column_families, columns, timestamp=None
)

Записывает набор данных в таблицу.

Аргументы
dataset A tf.data.Dataset для записи в эту таблицу. Он должен генерировать список из числа столбцов + 1 элементов, все из которых должны быть строками. Первое значение будет использоваться в качестве ключа строки, а последующие значения — в качестве значений ячеек для соответствующих столбцов из соответствующих записей column_families и columns.
column_families A tf.Tensor из tf.string соответствуют именам столбцов для хранения элементов набора данных.
columns A tf.Tensor из tf.string соответствуют именам столбцов для хранения элементов набора данных.
timestamp (Необязательно.) 64-битное целое число timestamp для записи всех значений. Оставьте как None, чтобы использовать предоставленные сервером метки времени.
Возвращаемое значение
A tf.Operation, который можно запустить для выполнения записи.
Исключения
ValueError Если есть неожиданные или несовместимые типы, или если количество столбцов и column_families не соответствует выводу dataset.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/cloud/BigtableTable

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API