Сделать вызов API как часть UDF в BigQuery — возможно?

Мне интересно, можно ли сделать вызов API для API геокодирования карт Google в UDF в BigQuery?

У меня есть геополя Google Analytics, такие как

{
"geoNetwork_continent": "Europe",
"geoNetwork_subContinent": "Eastern Europe",
"geoNetwork_country": "Russia",
"geoNetwork_region": "Novosibirsk Oblast",
"geoNetwork_metro": "(not set)"
},

И хотел бы позвонить:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=XXXX

Просто интересно, смогу ли я использовать javascript в UDF, чтобы сделать вызов API для каждой строки в BigQuery.

Было бы очень мощно и избавило бы меня от необходимости делать это в R или Python.

Очень новичок в UDF, поэтому просто хотел спросить, возможно ли то, что я предлагаю, или нет (интересно, могут ли внешние вызовы API в UDF быть какой-то проблемой безопасности по какой-либо причине или просто технически невозможно).

Любые советы очень ценятся.


person andrewm4894    schedule 06.01.2016    source источник


Ответы (2)


Совершение сетевых вызовов из вашего UDF не разрешено. Это связано как с соображениями безопасности, так и с тем фактом, что запросы (сильно) сегментируются для выполнения в BigQuery. Создание исходящих сетевых подключений для каждой записи из узлов запроса приведет к DDOS для многих целей;)

person thomaspark    schedule 06.01.2016

Я думаю, что в настоящее время вызовы API в UDF подпадают под ограничения BigQuery UDF
https://cloud.google.com/bigquery/user-defined-functions#limitations

person Mikhail Berlyant    schedule 06.01.2016