Рабочие потока данных застревают с пользовательским setup.py, читая данные из BQ - PullRequest
0 голосов
/ 08 ноября 2018

Я пытался заставить бегуна DataFlow работать весь день, но безуспешно. Работник просто загружает задание в поток данных и ничего не делает в течение 1 часа.

Все работает как положено локально . Процесс такой:

Данные из источника BQ -> Некоторые манипуляции с данными -> Запись записей TF

Я думаю что-то идет не так, когда читает данные из BQ :

  Job Type    State      Start Time      Duration                       User Email                       Bytes Processed   Bytes Billed   Billing Tier   Labels  
 ---------- --------- ----------------- ---------- ---------------------------------------------------- ----------------- -------------- -------------- -------- 
  extract    SUCCESS   08 Nov 11:06:10   0:00:02    27xxxxxxx7565-compute@developer.gserviceaccount.com     

Похоже, ничего не было обработано.

Базовый трубопровод:

import apache_beam as beam
import datetime
import tensorflow_transform.beam.impl as beam_impl
from apache_beam.options.pipeline_options import PipelineOptions, GoogleCloudOptions, StandardOptions

@beam.ptransform_fn
def ReadDataFromBQ(pcoll, project, dataset, table):
    bq = beam.io.BigQuerySource(dataset=dataset,
                                table=table,
                                project=project,
                                validate=True,
                                use_standard_sql=True,)

    return pcoll | "ReadFromBQ" >> beam.io.Read(bq)

with beam.Pipeline(options=options) as pipeline:
    with beam_impl.Context(temp_dir=google_cloud_options.temp_location):

        train_data = pipeline | 'LoadTrainData' >> ReadDataFromBQ(dataset='d_name',
                                                                  project='project-name',
                                                                  table='table_name')

это все еще не работает.

Я использую версию 2.7.0 SDK.

import apache_beam as beam
beam.__version__
'2.7.0' # local

Мой файл setup.py:

import setuptools
from setuptools import find_packages

REQUIRES = ['tensorflow_transform']

setuptools.setup(
    name='Beam',
    version='0.0.1',
    install_requires=REQUIRES,
    packages=find_packages(),
)

Рабочий процесс не выполнен. Причины: Задание потока данных, кажется, застряло, потому что за последние 1 час никакой рабочей активности не наблюдалось. Вы можете получить помощь с Облачный поток данных на https://cloud.google.com/dataflow/support.

  1. Job_id: 2018-11-07_12_27_39-17873629436928290134 для полного конвейера.

  2. Job_id: 2018-11-08_04_30_38-16805982576734763423 для сокращенного конвейера (просто чтение BQ и запись текста в GCS)

До этого казалось, что все работает правильно:

 2018-11-07 (20:29:44) BigQuery export job "dataflow_job_5858975562210600855" started. You can check its status with the bq...

  2018-11-07 (20:29:44) BigQuery export job "dataflow_job_5509154328514239323" started. You can check its status with the bq...

  2018-11-07 (20:30:15) BigQuery export job finished: "dataflow_job_5858975562210600855"

  2018-11-07 (20:30:15) BigQuery export job finished: "dataflow_job_5509154328514239323"

  2018-11-07 (21:30:15) Workflow failed. Causes: The Dataflow job appears to be stuck because no worker activity has been se...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...