2017-03-09 5 views
0

나는 이와 같이 fluentd에 대한 JSON 입력이 있습니다.fluent-plugin-bigquery : 자리 표시 자 substring

{ "dateTime": "YYYY-mm-dd HH:MM:SS" } 

내가 구글의 BigQuery 테이블 table_YYYYmmdd이 메시지를 저장하고 싶습니다.

은 내가

<match tag> 
    @type bigquery 
    table table_%Y%m%d 
    : 
</match> 

같은 설정을 작성할 수 있습니다 알고하지만 JSON 메시지의 날짜는 오늘 하지. JSON 메시지의 날짜에 따라 레코드를 저장하고 싶습니다.

어떻게하면됩니까?

답변

0

자가 해결.

<filter tag> 
    @type record_transformer 
    enable_ruby true 
    <record> 
    yyyymmdd ${record["dateTime"][0..9].gsub("-", "")} 
    </record> 
</filter> 

<match tag> 
    @type bigquery 
    ignore_unknown_values true 
    table table_${yyyymmdd} 
    : 
</match> 
+0

안녕하세요, 어떻게 스트리밍 문제를 bigquery로 고정하셨습니까? 귀하의 방법을 시도하고 bigquery API에서 오류가 발생했습니다 .tableata.insertAll -> code = 400 message = "유효하지 않은 : 대상 테이블의 파티션 table_name _ $ {date}이 (가) 허용 된 범위를 벗어났습니다. 과거 날짜와 앞으로 0 일 이후의 현재 날짜 –

+0

@Meta_data 아무런 구성없이 오류가 발생하지 않습니다. 오늘 이외의 다른 테이블에 레코드를 삽입 할 수 있습니다. –