2015-09-16 2 views
2

Я пытаюсь создать представление в BigQuery, которое содержит javascript UDF (myFunc). Запрос отлично работает при запуске в консоли с встроенным UDF или ссылкой на URI в облачном хранилище Google. Однако, при попытке сохранить запрос как вид, используя либо ссылку, я получаю ошибку:Не удалось создать представление. Неизвестно TVF: myFunc

Failed to create view. Unknown TVF: myFunc 

Есть ли способ, чтобы сохранить вид в BigQuery, который использует UDF? Я не использовал API REST, но это, кажется, может быть возможно включать как view.query и externalDataConfiguration.sourceUris [] объекта в запросе на основе структуры данных в documentation.

ответ

2

Edit: Fixed ! См. Ответ Томаса (https://stackoverflow.com/a/34300525/1375400).


В настоящее время невозможно создать представление, использующее UDF. Однако мы хотели бы добавить поддержку этой функции в будущем.

+0

Под ответом Томаса я прокомментировал доступность этого исправления в Datalab, любезно ли вы это рассмотрите, пожалуйста? Спасибо. – jaycode

2

Это была проблема с пользовательским интерфейсом, который мы недавно установили. Теперь вы можете запустить запрос, который использует UDF, а затем нажмите «Сохранить вид», чтобы сохранить этот запрос как представление, как вы ожидали.

Если вы используете mk в инструменте командной строки, вы должны указать ресурсы UDF, используемые вашим представлением, с помощью флага --view_udf_resource.

Надеюсь, это поможет, спасибо!

+0

Это решение, похоже, не работает на Datalab: %% bigquery execute --target project: dataset.tablename - query querymodule по-прежнему возвращает ошибку. – jaycode

+0

Есть ли какой-либо план сделать это доступным в Google Cloud Datalab? В противном случае рекомендуемый способ создания новой таблицы из сложного запроса в Datalab? – jaycode

+0

Я предлагаю напрямую обратиться к людям Datalab. https://cloud.google.com/datalab/docs/resources/support Если это подходит для вашего варианта использования, вы всегда можете создать представление + UDF за пределами Datalab, а затем ссылаться на него из Datalab. –