Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como armazenar dados no MySql usando o cygnus?


Em primeiro lugar, sinta-se à vontade para remover as partes de configuração HDFS e CKAN. Você evitará logs desnecessários relacionados a esses componentes ao executar o Cygnus. Claro, lembre-se de excluir todas as referências a coletores e canais; especificamente:
cygnusagent.sources = http-source
cygnusagent.sinks = mysql-sink
cygnusagent.channels = mysql-channel
...
cygnusagent.sources.http-source.channels = mysql-channel

Em segundo lugar, a resposta à sua pergunta pode ser encontrada na documentação:

Dentro das tabelas, podemos encontrar duas opções:
  • Linhas de 8 campos fixas, como de costume:recvTimeTs, recvTime, entityId, entityType, attrName, attrType, attrValue e attrMd. Essas tabelas (e os bancos de dados) são criados em tempo de execução se a tabela não existir antes da inserção da linha. Em relação ao attrValue, em sua forma mais simples, esse valor é apenas uma string, mas desde o Orion 0.11.0 pode ser objeto Json ou array Json. Em relação ao attrMd, ele contém uma serialização de string do array de metadados para o atributo em Json (se o atributo não tiver metadados, um array vazio [] é inserido),
  • Duas colunas por atributo de cada entidade (uma para o valor e outra para os metadados), mais uma coluna de adição sobre o horário de recebimento dos dados (recv_time). Este tipo de tabelas (e bancos de dados) devem ser provisionados previamente à execução do Cygnus , porque cada entidade pode ter um número diferente de atributos, e as notificações devem garantir que um valor para cada atributo seja notificado.

O comportamento do conector em relação à representação interna dos dados é regido por um parâmetro de configuração, attr_persistence, cujos valores podem ser linha ou coluna.

Talvez haja um problema com a escrita, acho que o último parágrafo deve terminar como "... valores inteiros podem ser linha ou coluna, e cujo comportamento corresponde às opções descritas acima, respectivamente " .

Ou seja se você estiver usando o modo de coluna, o banco de dados e as tabelas deverão ser provisionados com antecedência.

Existe um pergunta semelhante onde explico com mais detalhes tal comportamento.

HTH!