UDF в ошибке bigquery

Я работаю ниже простого UDF и получаю сообщение «Ошибка: 3.3–14.6: TVF Javascript отключены». Кто-нибудь знает об этом?

Запрос:

select * from 
js(
(publicdata:samples.shakespeare),
word, word_count,
"[{name: 'word', type:'string'},
  {name: 'add5', type:'integer'}]",

  "function(r, emit) {
   var new_cnt = r.word_count+5;
   emit({word: r.word, 
         add5: new_cnt});  
  }")

person user3294904    schedule 28.01.2015    source источник
comment
где ты это нашел?   -  person Felipe Hoffa    schedule 28.01.2015
comment
Спасибо за ответ Фелипе. Я пытался использовать UDF, а затем я видел несколько презентаций в Интернете, посвященных использованию Javascript. Когда я попробовал это в пользовательском интерфейсе Bigquery, я получил эту ошибку! Есть ли другой способ написать UDF?   -  person user3294904    schedule 28.01.2015
comment
Это правильный путь - к сожалению, недоступно сегодня... но скоро!   -  person Felipe Hoffa    schedule 28.01.2015
comment
@FelipeHoffa Думаю, у меня есть доступ для тестирования этой функции javascript. Можете ли вы сказать мне, является ли приведенный ниже код правильным в соответствии с синтаксисом? выберите * из js( (publicdata:samples.shakespeare), [{имя: 'слово', тип: 'строка'}, {имя: 'word_count', тип: 'целое число'}], [{имя: 'слово' , type:'string'}, {name: 'add5', type:'integer'}], function(r, emit) { var new_cnt = r.word_count+5; emit({word: r.word, add5: new_cnt}); }) => Я получаю сообщение об ошибке - Ошибка: 3.3 - 12.6: ‹input_field› должно быть идентификатором   -  person user3294904    schedule 29.01.2015
comment
между прочим, запрос в вопросе правильный, а запрос в предыдущем комментарии - нет   -  person Felipe Hoffa    schedule 29.01.2015
comment
хорошие новости для всех, UDF теперь полностью включены в BigQuery!   -  person Felipe Hoffa    schedule 25.08.2015
comment
@FelipeHoffa ссылку на документацию?   -  person Pentium10    schedule 25.08.2015
comment
cloud.google.com/bigquery/user-defined-functions   -  person Felipe Hoffa    schedule 25.08.2015


Ответы (1)


"function(r, emit) {
   var new_cnt = r.word_count+5;
   emit({word: r.word, 
         add5: new_cnt});  
  }"

Этот function представляет собой новый способ написания Javascript внутри SQL-операторов BigQuery. К сожалению, эта функция все еще находится в разработке (сегодня январь 2015 г.) и недоступна повсеместно.

person Felipe Hoffa    schedule 28.01.2015
comment
Есть ли какие-либо подвижки в отношении этой функции от Google? Кажется ужасно полезным. - person Michael Ames; 11.06.2015