Получение исключения «invalidQuery» в BigQuery при использовании INNER JOIN - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь join две таблицы StackOverflow для определения среднего времени ответа на запрос. Однако я новичок и не могу JOIN таблицы, пожалуйста, помогите.


Stackquery = """

    SELECT   
        ques.id,
        ques.accepted_answer_id,
        ques.creation_date,
        ques.last_activity_date,
        ansr.id, 
        ansr.accepted_answer_id, 
        ansr.creation_date, 
        ansr.last_activity_date
    FROM
        `bigquery-public-data:stackoverflow.posts_questions` as ques
        INNER JOIN
        'bigquery-public-data:stackoverflow.posts_answers' as ansr
        ON ques.accepted_answer_id = ansr.id
    WHERE
        MOD(ABS(FARM_FINGERPRINT(CAST(ques.last_activity_date AS STRING))),100000) = 1

"""

StackOverflowData = bq.Query(Stackquery).execute().result().to_dataframe()

ExceptionTraceback (последний вызов был последним)

<ipython-input-72-80c29a281162> in <module>() 18 
  """ 19 
---> 20 
  StackOverflowData = bq.Query(Stackquery).execute().result().to_dataframe() ... 491 
except KeyError: 492 
    # The query was in error --> 493 
    raise Exception(_utils.format_query_errors(query_result['status']['errors'])) 494 
    return _query_job.QueryJob(job_id, table_name, self._sql, context=self._context) 495 
Exception: invalidQuery: Encountered "" at line 14, column 3    

1 Ответ

2 голосов
/ 23 марта 2019

Проблема в самом запросе; это работает:

SELECT   
    ques.id,
    ques.accepted_answer_id,
    ques.last_activity_date,
    ansr.creation_date
FROM
    `bigquery-public-data.stackoverflow.posts_questions` as ques
    INNER JOIN
    `bigquery-public-data.stackoverflow.posts_answers` as ansr
    ON ques.accepted_answer_id = ansr.id
WHERE
    MOD(ABS(FARM_FINGERPRINT(CAST(ques.last_activity_date AS STRING))),100000) = 1

Я рекомендую тестировать ваши запросы в webUI вместо того, чтобы запускать их в Python, так как его компилятор проверит запрос и предупредит вас о возможных ошибках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...