Ошибка при получении результатов из буфера. Симба JDBC BigQuery драйвер - PullRequest
0 голосов
/ 22 января 2019

Я выполняю конвейер Logstash, который запрашивает BigQuery через драйвер Simba JDBC:

input {
    jdbc {
        id => "categories-input"
        jdbc_user => "user"
        jdbc_driver_library => "..."
        jdbc_driver_class => "com.simba.googlebigquery.jdbc42.Driver"
        jdbc_connection_string => "..."
        statement => "
            SELECT categoryid, categoryname, filters
            FROM dataset.categories
            WHERE categoryid = 12345;"
    }
}

filter {
    mutate {
        id => "categories-mapping"
        rename => {
            "categoryid" => "[category][id]"
            "categoryname" => "[category][name]"
        }
        remove_field => ["@timestamp", "@version"]
    }
}

output {
    elasticsearch {
        template => "/usr/share/logstash/shared/generic.json"
        template_name => "generic"
        id => "categories-updating"
        hosts => "elasticsearch:9200"
        index => "categories"
        document_id => "%{[category][id]}"
    }
}

Кроме того, вся моя таблица dataset.categories действительно мала, меньше 100 мегабайт

Однакомоя строка filters довольно длинная (10 796 031 символ, если быть точным), и в результате я получаю следующее исключение:

Я также получаю то же самое исключение, даже если я не преобразовываю фильтры встрока.

Исключительная ситуация при выполнении запроса JDBC {: exception => # BigQueryJDBCDriver Ошибка при получении результатов из буфера.>}

Это строка подключения, если это помогает:

jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=VerySeriousProject;OAuthType=0;OAuthServiceAcctEmail=veryimportantemail@VerySeriousProject.iam.gserviceaccount.com;OAuthPvtKeyPath=/usr/share/logstash/drivers/key.json;Timeout=600;AllowLargeResults=1;

Что я должен изменить, чтобы не получать такого рода исключения и иметь возможность запрашивать данные?

...