2013-07-15 2 views
0

Google Big Query에 일부 로그 파일을 던지고 약 7 개월 동안 처리하고 있습니다. 우리는 사이트를 재구성 했으므로 새로운 테이블과 거의 동일한 프로세스를 만들었습니다. Google 저장 용량에서 이전 파일을 일괄 업로드 할 수 있으며 대부분의 파일은 문제없이로드됩니다. 그런 다음 동일한 프로그램을 cronjob에서 실행하면 BQ가 백엔드 오류를보고하고 데이터가로드되지 않습니다.Google 빅 쿼리 백엔드 오류

파일이 gzip되고 탭으로 구분됩니다. 파이썬 gzip 패키지를 사용하고 있습니다. 나는 적절한 파일 수 (이 경우에는 476)를 가지고 있지 않은 모든 라인을 제거하고 원본을 읽고이 파일을 적절히 전처리 한 다음 Google 스토리지에 글쓰기 및 업로드를한다고 믿는다. 오류는 거의 항상 파일의 끝에서 발생합니다. 또한 이상한 점은 잘못된 행에 대한 높은 허용치를 설정하고 모든 필드를 문자열로 읽도록 BQ를 설정했기 때문입니다. 아직로드되지 않습니다.

Error loading table: {u'endTime': u'1373914994246', 
u'load': {u'inputFileBytes': u'528384', 
      u'inputFiles': u'1', 
      u'outputBytes': u'0', 
      u'outputRows': u'4610'}, 
u'startTime': u'1373914986420'} 
{u'errorResult': {u'location': u'Line:4612/Field:1', 
        u'message': u'Error reading source file', 
        u'reason': u'backendError'}, 
u'errors': [{u'location': u'Line:4611/Field:125', 
       u'message': u'Bad character (ASCII 0) encountered: field starts with: <1373339>', 
      u'reason': u'invalid'}, 
     {u'location': u'Line:4612/Field:1', 
      u'message': u'Error reading source file', 
      u'reason': u'backendError'}], 
u'state': u'DONE'} 

임시 파일에 FTP로 파일을 다운로드하고 있습니다. 그런 다음 local_file = gzip.open(fname, 'r')으로 해당 파일을 엽니 다. 그런 다음 각 행이 476 개의 필드인지 확인하기 위해 읽었습니다. 그렇지 않은 경우 다른 곳에 씁니다. 그렇다면 로컬로 씁니다. local_file.write(row). 그런 다음 Google 저장 용량에

args = ['python','/path/to/gsutil/gsutil', 'cp', local_file, folder] 
    call(args) 
+1

Google (Google Bigquery 엔지니어)이 조사 할 수 있도록 직장 ID를 보낼 수 있습니까? –

+0

물론이 테이블의 이전 버전의 오류가 있습니다 (동일한 로딩 사양을 사용하고 있습니다). job_af9221ada5534f16acc1c7855fd6f76c. 새로운 파일이 있습니다. 나는 모든 파일을 더 걱정하고 현재로드하고 있습니다. job_3a95ce0bec184100b99a45900a261b00 –

답변

1

gzip 파일을 압축 해제하는 중 오류가 발생했습니다. 해결 방법은 먼저 파일의 압축을 푸는 것입니다. 나는 아직도 조사 중이다.

+0

감사합니다. 나는 그것이 정말로 도움이 될 것이라고는 생각하지 않지만 조금 더 자세하게 질문을 편집했다. –

관련 문제