2016-06-13 1 views
0

Я пытаюсь загрузить Avro файл из Google staorage в Google большой запрос с использованием nodejsApache Avro библиотека не удалось разобрать файл nodejs

var gcloud = require('gcloud')({ 
    keyFilename: '../config/keyfile.json', 
    projectId: 'my-project-id' 
}); 

var request = require('request'); 

var bigquery = gcloud.bigquery(); 


var dataset = bigquery.dataset('my-data-set'); 
var table = dataset.table('my-table'); 



    var metadata = { 

    sourceFormat: 'AVRO' 
    }; 

    var url = 'https://storage.googleapis.com/' + 'my-bucket' + '/' + 'yob1900.avro'; 

    request.get(url) 
     .pipe(table.createWriteStream(metadata)) 
     .on('complete', function (job) { 
     // Wait up to 60 seconds for job to complete 
     pollJobUntilDone(job, 60000, 0, function (err, metadata) { 
      if (err) { 

      return callback(err); 
      } 
      console.log('job completed', metadata); 

     }); 
     }); 

function pollJobUntilDone (job, timeout, timeWaited, callback) { 
    job.getMetadata(function (err, metadata) { 
    if (err) { 
     return callback(err); 
    } 
    if (timeWaited > timeout) { 
     return callback(new Error('Timed out waiting for job to complete')); 
    } 
    if (metadata.status && (metadata.status.state === 'RUNNING' || 
     metadata.status.state === 'PENDING')) { 
     setTimeout(function() { 
     console.log('working...'); 
     pollJobUntilDone(job, timeout, timeWaited + 5000, callback); 
     }, 5000); 
    } else { 
     callback(null, metadata); 
    } 
    }); 
} 

я получаю эту ошибку

'The Apache Avro library failed to parse file file-00000000.' 

(далее « Файл yob1900 был загружен из документации bigquery https://cloud.google.com/bigquery/loading-data#loading_json_files) , когда я пытаюсь сделать это через успех webUI I. Любые предложения?

+0

Я не знаю nodejs, но кажется, что файл avro не передается непосредственно в BigQuery. В сообщении об ошибке указано имя файла «file-00000000» вместо «yob1900.avro». Некоторое преобразование выполняется nodejs. –

ответ

0

Форматы Avro не были сохранены gcloud. Проблема была исправлена ​​«gcloud»: «^ 0.36.0»

 Смежные вопросы

  • Нет связанных вопросов^_^