在Logstash中的JDBC Input插件中设置MySQL conf

时间:2017-11-08 05:29:14

标签: mysql elasticsearch jdbc logstash

我使用SELECT ABL.Address1 AS BillingAddress1, ABL.Address2 AS BillingAddress2, ABL.Address3 AS BillingAddress3, ABL.Address4 AS BillingAddress4, ABL.UnitNumber AS BillingUnitNumber, ABL.City AS BillingCity, ABL.ProvinceOrState AS BillingProvinceOrState, ABL.PostalCode AS BillingPostalCode, CASE ISNULL (ABL.CountryCode,'') WHEN 'CAN' THEN 'CANADA' WHEN 'CA' THEN 'CANADA' WHEN 'US' THEN 'USA' WHEN '' THEN CASE WHEN CHARINDEX(RTRIM(ABL.ProvinceOrState),'BC,NWT,SK,MB,ON,QC,NB,NS,PEI,NF') > 0 THEN 'CANADA' ELSE NULL END ELSE ABL.CountryCode END AS BillingCountryCode 中的JDBC Input plugin根据logstash对数据进行索引。

我能够成功地索引数据并获得输出,但是,我坚持这一点。

我的一个查询需要设置MySQL queries。有没有办法在输入插件中容纳这个?因为我想避免在全球范围内设置它。

我提到this site有不同的输入参数,但没有解决我的问题

这是我的示例输入插件:

group_concat_max_len

我也试过在query.sql文件中设置,但看起来应该只存在一个查询。

感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

如果您使用的是docker-compose,只需在容器中设置此变量即可。

version: '2.1'

services:
  db:
    image: mysql
    environment:
     - MYSQL_USER=root
     - MYSQL_PASSWORD=
     - MYSQL_DATABASE=mydb
     - MYSQL_ROOT_PASSWORD=
     - MYSQL_ROOT_PASSWORD=root
    command: --group_concat_max_len=65535
    ports:
      - "3306:3306"

在您的数据库中检查它: 选择@@ GLOBAL.group_concat_max_len;