2016-07-21 1 views
0

Je suis curieux de savoir à quoi devrait ressembler un fichier TSV lorsque nous ingérons des données d'un fichier TSV local en utilisant DRUID.Comment un fichier TSV doit-il être formaté dans DRUID?

Faut-il comme:

S'il vous plaît noter que ceci est juste pour le test:

QuickStart/fichier sample_data.tsv:

Nom Prénom Email temps Bob Jones bobj @ gmail.com 1468839687 Billy Jones [email protected] 1468839769

Lorsque cette partie est mes dimensions: Nom Prénom Email
Et cette partie est mes données réelles: Jones Bob [email protected] 1468839687 Billy Jones [email protected] 1468839769

{ 
     "type" : "index_hadoop", 
    "spec" : { 
     "ioConfig" : { 
         "type" : "hadoop", 
      "inputSpec" : { 
       "type" : "static", 
       "paths" : "quickstart/sample_data.tsv" 
      } 
     }, 
     "dataSchema" : { 
      "dataSource" : "local", 
      "granularitySpec" : { 
       "type" : "uniform", 
         "segmentGranularity" : "hour", 
         "queryGranularity" : "none", 
         "intervals" : ["2016-07-18/2016-07-18"] 
      }, 
      "parser" : { 
       "type" : "string", 
       "parseSpec" : { 
        "format" : "tsv", 
        "dimensionsSpec" : { 
         "dimensions" : [ 
          "name", 
          "lastname", 
          "email" 
         ] 
        }, 
        "timestampSpec" : { 
           "format" : "auto", 
         "column" : "time" 
        } 
       } 
      }, 
      "metricsSpec" : [ 
       { 
        "name" : "count", 
        "type" : "count" 
       }, 
       { 
        "name" : "added", 
        "type" : "longSum", 
        "fieldName" : "deleted" 
       } 
      ] 
     } 
    } 
} 

j'ai eu quelques questions sur mon fichier de spec aussi bien que je n'étais pas capable de trouver les réponses à eux sur le doc. J'apprécierais que quelqu'un puisse y répondre pour moi :)! J'ai remarqué dans l'exemple spec qu'ils ont ajouté la ligne "type": "index_hadoop" tout en haut. Que dois-je mettre pour le type si je suis en train d'ingérer un fichier TSV à partir de mon ordinateur local dans le répertoire quickstart? Où puis-je lire sur les différentes valeurs que je devrais mettre pour cette touche "type" dans les docs? Je n'ai pas eu d'explication pour ça.

2) Encore une fois il y a une variable de type dans le ioConfig: "type": "hadoop". Que dois-je mettre pour le type si je suis en train d'ingérer un fichier TSV à partir de mon ordinateur local dans le répertoire quickstart?

3) Pour l'attribut timestampSpec, l'heure de mon fichier TSV est GMT. Y a-t-il un moyen de l'utiliser comme format? Depuis que j'ai lu, vous devriez le convertir en UTC et existe-t-il un moyen de convertir en UTC pendant le processus de publication des données à l'Overlord? Ou devrais-je changer tous ces formats d'heure GMT en UTC similaire à ceci: "time": "2015-09-12T00: 46: 58.771Z".

Répondre

0

Druide soutient deux façons de ingérant des données par lots

  • Hadoop Index des tâches
  • Index des tâches

Les spécifications dont vous parlez est d'un "type", d'où la tâche Index Hadoop est " index_hadoop "et aussi le type ioconfig est" hadoop ".

Voici une spécification de l'échantillon pour une tâche d'index qui peut lire à partir du fichier local: { "type": "index", "spec": { "dataSchema": { "dataSource": "wikipedia", "parser": { "type": "string", "parseSpec": { "format": "json", "timestampSpec": { "column": "timestamp", "format": "auto" }, "dimensionsSpec": { "dimensions": ["page", "language"] } } }, "metricsSpec": [{ "type": "count", "name": "count" }, { "type": "doubleSum", "name": "added", "fieldName": "added" }], "granularitySpec": { "type": "uniform", "segmentGranularity": "DAY", "queryGranularity": "NONE", "intervals": ["2013-08-31/2013-09-01"] } }, "ioConfig": { "type": "index", "firehose": { "type": "local", "baseDir": "examples/indexing/", "filter": "wikipedia_data.json" } } } }