Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@hiroyuki-sato
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hiroyuki-sato/d62b42a8c48299b3f9d3 to your computer and use it in GitHub Desktop.
Save hiroyuki-sato/d62b42a8c48299b3f9d3 to your computer and use it in GitHub Desktop.
embullk-output-groonga example

サーバの準備

embulk-output-groongaの説明

手順

groonga_practice をダウンロード

git clone https://github.com/hiroyuki-sato/groonga_practice
cd groonga_practice/database
../bin/gen_chap4_1
groonga -s chap4_1.db

クライアントでサーバに接続

groonga -c 
> select --table Site --limit 100

Siteテーブルの中身の確認

> select --table Site --limit 100
[
  [
    0,
    1432126727.34306,
    0.0249168872833252
  ],
  [
    [
      [
        9
      ],
      [
        [
          "_id",
          "UInt32"
        ],
        [
          "_key",
          "ShortText"
        ],
        [
          "title",
          "ShortText"
        ]
      ],
      [
        1,
        "http://example.org/",
        "This is test record 1!"
      ],
      [
        2,
        "http://example.net/",
        "test record 2."
      ],
      [
        3,
        "http://example.com/",
        "test test record three."
      ],
      [
        4,
        "http://example.net/afr",
        "test record four."
      ],
      [
        5,
        "http://example.org/aba",
        "test test test record five."
      ],
      [
        6,
        "http://example.com/rab",
        "test test test test record six."
      ],
      [
        7,
        "http://example.net/atv",
        "test test test record seven."
      ],
      [
        8,
        "http://example.org/gat",
        "test test record eight."
      ],
      [
        9,
        "http://example.com/vdw",
        "test test record nine."
      ]
    ]
  ]
]

embulkの設定ファイル確認

in:
  type: file
  path_prefix: /tmp/test/test
  parser:
    charset: ISO-8859-2
    newline: CRLF
    type: csv
    delimiter: ','
    quote: ''
    escape: ''
    skip_header_lines: 1
    allow_extra_columns: false
    allow_optional_columns: false
    columns:
    - {name: key, type: string}
    - {name: title, type: string}
exec: {}
out: 
  type: groonga
  table: Site
  key_column: key
  host: localhost
  port: 10043
  protocol: gqtp

データロード

embulk run /tmp/config.yml
2015-05-20 21:58:59.105 +0900: Embulk v0.6.9
2015-05-20 21:59:01.862 +0900 [INFO] (transaction): Listing local files at directory '/tmp/test' filtering filename by prefix 'test'
2015-05-20 21:59:01.874 +0900 [INFO] (transaction): Loading files [/tmp/test/test.csv]
2015-05-20 21:59:02.057 +0900 [INFO] (transaction): {done:  0 / 1, running: 0}
2015-05-20 21:59:03.343 +0900 [INFO] (transaction): {done:  1 / 1, running: 0}
2015-05-20 21:59:03.380 +0900 [INFO] (main): Committed.
2015-05-20 21:59:03.380 +0900 [INFO] (main): Next config diff: {"in":{"last_path":"/tmp/test/test.csv"},"out":{}}

ロード後の確認

> select --table Site --limit 100
[
  [
    0,
    1432126755.92162,
    0.000575065612792969
  ],
  [
    [
      [
        159
      ],
      [
        [
          "_id",
          "UInt32"
        ],
        [
          "_key",
          "ShortText"
        ],
        [
          "title",
          "ShortText"
        ]
      ],
      [
        1,
        "http://example.org/",
        "This is test record 1!"
      ],
      [
        2,
        "http://example.net/",
        "test record 2."
      ],
      [
        3,
        "http://example.com/",
        "test test record three."
      ],
      [
        4,
        "http://example.net/afr",
        "test record four."
      ],
      [
        5,
        "http://example.org/aba",
        "test test test record five."
      ],
      [
        6,
        "http://example.com/rab",
        "test test test test record six."
      ],
      [
        7,
        "http://example.net/atv",
        "test test test record seven."
      ],
      [
        96,
        "hoge87",
        "title87"
      ],
      [
        97,
        "hoge88",
        "title88"
      ],
      [
        98,
        "hoge89",
        "title89"
      ],
      [
        99,
        "hoge90",
        "title90"
      ],
      // ... 略 
      [
        100,
        "hoge91",
        "title91"
      ]
    ]
  ]
]
key title
hoge1 title1
hoge2 title2
hoge3 title3
hoge4 title4
hoge5 title5
hoge6 title6
hoge7 title7
hoge8 title8
hoge9 title9
hoge10 title10
hoge11 title11
hoge12 title12
hoge13 title13
hoge14 title14
hoge15 title15
hoge16 title16
hoge17 title17
hoge18 title18
hoge19 title19
hoge20 title20
hoge21 title21
hoge22 title22
hoge23 title23
hoge24 title24
hoge25 title25
hoge26 title26
hoge27 title27
hoge28 title28
hoge29 title29
hoge30 title30
hoge31 title31
hoge32 title32
hoge33 title33
hoge34 title34
hoge35 title35
hoge36 title36
hoge37 title37
hoge38 title38
hoge39 title39
hoge40 title40
hoge41 title41
hoge42 title42
hoge43 title43
hoge44 title44
hoge45 title45
hoge46 title46
hoge47 title47
hoge48 title48
hoge49 title49
hoge50 title50
hoge51 title51
hoge52 title52
hoge53 title53
hoge54 title54
hoge55 title55
hoge56 title56
hoge57 title57
hoge58 title58
hoge59 title59
hoge60 title60
hoge61 title61
hoge62 title62
hoge63 title63
hoge64 title64
hoge65 title65
hoge66 title66
hoge67 title67
hoge68 title68
hoge69 title69
hoge70 title70
hoge71 title71
hoge72 title72
hoge73 title73
hoge74 title74
hoge75 title75
hoge76 title76
hoge77 title77
hoge78 title78
hoge79 title79
hoge80 title80
hoge81 title81
hoge82 title82
hoge83 title83
hoge84 title84
hoge85 title85
hoge86 title86
hoge87 title87
hoge88 title88
hoge89 title89
hoge90 title90
hoge91 title91
hoge92 title92
hoge93 title93
hoge94 title94
hoge95 title95
hoge96 title96
hoge97 title97
hoge98 title98
hoge99 title99
hoge100 title100
hoge101 title101
hoge102 title102
hoge103 title103
hoge104 title104
hoge105 title105
hoge106 title106
hoge107 title107
hoge108 title108
hoge109 title109
hoge110 title110
hoge111 title111
hoge112 title112
hoge113 title113
hoge114 title114
hoge115 title115
hoge116 title116
hoge117 title117
hoge118 title118
hoge119 title119
hoge120 title120
hoge121 title121
hoge122 title122
hoge123 title123
hoge124 title124
hoge125 title125
hoge126 title126
hoge127 title127
hoge128 title128
hoge129 title129
hoge130 title130
hoge131 title131
hoge132 title132
hoge133 title133
hoge134 title134
hoge135 title135
hoge136 title136
hoge137 title137
hoge138 title138
hoge139 title139
hoge140 title140
hoge141 title141
hoge142 title142
hoge143 title143
hoge144 title144
hoge145 title145
hoge146 title146
hoge147 title147
hoge148 title148
hoge149 title149
hoge150 title150
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment