tf.contrib.cloud.BigQueryReader
Чтение ключей и значений tf.Example из таблицы BigQuery.
Наследуется от: ReaderBase
tf.contrib.cloud.BigQueryReader(
project_id, dataset_id, table_id, timestamp_millis, num_partitions,
features=None, columns=None, test_end_point=None, name=None
)
Пример использования:
# Assume a BigQuery has the following schema,
# name STRING,
# age INT,
# state STRING
# Create the parse_examples list of features.
features = dict(
name=tf.io.FixedLenFeature([1], tf.string),
age=tf.io.FixedLenFeature([1], tf.int32),
state=tf.io.FixedLenFeature([1], dtype=tf.string, default_value="UNK"))
# Create a Reader.
reader = bigquery_reader_ops.BigQueryReader(project_id=PROJECT,
dataset_id=DATASET,
table_id=TABLE,
timestamp_millis=TIME,
num_partitions=NUM_PARTITIONS,
features=features)
# Populate a queue with the BigQuery Table partitions.
queue = tf.compat.v1.train.string_input_producer(reader.partitions())
# Read and parse examples.
row_id, examples_serialized = reader.read(queue)
examples = tf.io.parse_example(examples_serialized, features=features)
# Process the Tensors examples["name"], examples["age"], etc...
Обратите внимание, что для создания ридера необходима метка временной отметки момента снимка. Это позволит ридеру просматривать согласованный снимок таблицы. Дополнительную информацию см. в разделе «Декораторы таблиц» в документации BigQuery.
См. ReaderBase для поддерживаемых методов.
| Аргументы | |
|---|---|
project_id | Идентификатор проекта GCP. |
dataset_id | Идентификатор набора данных BigQuery. |
table_id | Идентификатор таблицы BigQuery. |
timestamp_millis | Временная метка для снимка таблицы в миллисекундах с момента эпохи. Относительные (отрицательные или нулевые) временные метки снимка не допускаются. Дополнительные сведения см. в разделе «Декораторы таблиц» в документации BigQuery. |
num_partitions | Количество неперекрывающихся разделов для чтения. |
features | Совместимый с parse_example словарь из ключей к объектам VarLenFeature и FixedLenFeature. Ключи читаются как столбцы из базы данных. |
columns | Список столбцов для чтения, может быть задан, только если features равен None. |
test_end_point | Используется только в целях тестирования (необязательно). |
name | Имя операции (необязательно). |
| Исключения | |
|---|---|
TypeError |
|
| Атрибуты | |
|---|---|
reader_ref | Операция, реализующая ридер. |
supports_serialize | Может ли реализация ридера сериализовать свое состояние. |
Методы
num_records_produced
num_records_produced(
name=None
)
Возвращает количество записей, сгенерированных этим ридером.
Это совпадает с количеством успешных выполнений Read.
| Аргументы | |
|---|---|
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| int64 Tensor. |
num_work_units_completed
num_work_units_completed(
name=None
)
Возвращает количество завершенных единиц работы, обработанных этим ридером.
| Аргументы | |
|---|---|
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| int64 Tensor. |
partitions
partitions(
name=None
)
Возвращает сериализованные сообщения BigQueryTablePartition.
Эти сообщения представляют собой неперекрывающееся разделение таблицы для массового чтения.
| Аргументы | |
|---|---|
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Строка 1-D сериализованных BigQueryTablePartition сообщений. |
read
read(
queue, name=None
)
Возвращает следующую пару записей (ключ, значение), сгенерированную ридером.
Если необходимо, декьюит единицу работы из очереди (например, когда ридеру нужно начать чтение из нового файла, так как он завершил чтение предыдущего файла).
| Аргументы | |
|---|---|
queue | Очередь или изменяемый строковый тензор, представляющий дескриптор очереди со строковыми элементами. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| Кортеж тензоров (ключ, значение). | |
key | Строковый скалярный тензор. |
value | Строковый скалярный тензор. |
read_up_to
read_up_to(
queue, num_records, name=None
)
Возвращает до num_records пар (ключ, значение), сгенерированных ридером.
Если необходимо, декьюит единицу работы из очереди (например, когда ридеру нужно начать чтение из нового файла, так как он завершил чтение предыдущего файла). Может вернуть меньше, чем num_records, даже до последней группы.
| Аргументы | |
|---|---|
queue | Очередь или изменяемый строковый тензор, представляющий дескриптор очереди со строковыми элементами. |
num_records | Количество записей для чтения. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| Кортеж тензоров (ключи, значения). | |
keys | Строковый тензор 1-D. |
values | Строковый тензор 1-D. |
reset
reset(
name=None
)
Восстановить ридер в его первоначальное чистое состояние.
| Аргументы | |
|---|---|
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| Созданная операция. |
restore_state
restore_state(
state, name=None
)
Восстановление ридера до ранее сохраненного состояния.
Не все ридеры поддерживают восстановление, поэтому это может вызвать ошибку Unimplemented.
| Аргументы | |
|---|---|
state | Строковый тензор. Результат SerializeState ридера с соответствующим типом. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| Созданная операция. |
serialize_state
serialize_state(
name=None
)
Генерирует строковый тензор, кодирующий состояние ридера.
Не все ридеры поддерживают сериализацию, поэтому это может вызвать ошибку Unimplemented.
| Аргументы | |
|---|---|
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| Строковый тензор. |
© 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/BigQueryReader