Elasticsearch/Kibanaを6.2.2から6.3.0にupgradeした
6.3.0のrelease blogはこちら
https://www.elastic.co/blog/elasticsearch-6-3-0-released
https://www.elastic.co/blog/kibana-6-3-0-released
6.3.0からX-Packが標準で含まれるようになったのでインストールは不要で、最初からBasic Licenseが適用されています。
SQLもBasicに含まれていますが、JDBCは有償です。
https://www.elastic.co/subscriptions
なので
https://github.com/tokuhirom/unofficial-elasticsearch-jdbc-driver
をコピペして軽くJDBC Driverを作り始めましたが、進捗0です。
https://github.com/wyukawa/elasticsearch-jdbc-driver
他に良さそうなやつがあれば捨てて乗り換えます。
upgradeのやり方は
https://www.elastic.co/guide/en/elasticsearch/reference/6.3/rolling-upgrades.html
にある通りですが、注意点として古いバージョンのx-packをremoveする必要があります。
https://github.com/elastic/elasticsearch/issues/31465
https://github.com/elastic/kibana/issues/19957
で、上げた翌日にはKibanaのグラフが自動更新の際にチカチカするんだけど、、、という話があり、どうも下記を踏んだ模様。criticalなものではないと思うけど、気になる人は次のバージョンを待った方がいいかも。
https://github.com/elastic/kibana/issues/20240
Kibana 6.3.0からインデックス管理もできるようになったのですが、index templateの更新はできなそうなのでcerebroは依然として使う予定です。
今日cerebroを0.8.1にupgradeしたらクラスタ設定もいじれるようになっており進化を感じます。
Elasticsearch実践ガイドを読んでみた
Elasticsearch実践ガイド impress top gearシリーズ
- 作者: 惣道哲也
- 出版社/メーカー: インプレス
- 発売日: 2018/06/15
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
目次
第 1 章 Elasticsearch とは 1-1 Elasticsearch が登場した背景 1-2 Elasticsearch の特徴 1-3 Elastic Stack について 1-4 Elasticsearch のユースケース 1-5 Elasticsearch の導入事例 1-6 まとめ 第 2 章 Elasticsearch の基礎 2-1 用語と概念 2-2 システム構成 2-3 REST API による操作 2-4 Elasticsearch の導入方法 2-5 まとめ 第 3 章 ドキュメント/インデックス/クエリの基本操作 3-1 ドキュメントの基本操作 3-2 インデックスとドキュメントタイプの管理 3-3 さまざまなクエリ 3-4 まとめ 第 4 章 Analyzer/Aggregation/スクリプティングによる高度なデータ分析 4-1 全文検索と Analyzer 4-2 Aggregation 4-3 スクリプティング 4-4 まとめ 第 5 章 システム運用とクラスタの管理 5-1 運用監視と設定変更 5-2 クラスタの管理 5-3 スナップショットとリストア 5-4 インデックスの管理とメンテナンス 5-5 refresh とflush 5-6 まとめ 第 6 章 Elastic Stack インテグレーション 6-1 Elastic Stack 6-2 X-Pack の活用 6-3 まとめ 索引
僕は管理者、ログ分析の文脈でElasticsearchを使っていて、検索エンジンとしてはあまり使っていません。
Analyzerとかクエリの書き方とかは全然わかってなくて本当に雰囲気で触っているのだが、
そういう人にとっては、もちろん普通にElasticsearchに入門する人でも、本書は役立つと思う。特に3,4章とか
運用管理者の視点からも5章はアップグレード方法だったり、Luceneのインデックスファイル構造まで書かれていて参考になった。
Elasticsearch絡みの日本語書籍は結構古くなっていて、最近で本書以前では下記があったのだが、こちらはFluentdも含めたログ分析基盤の観点から書かれた本なのでElasticsearch自体にはあまり踏み込んでいなかった。
データ分析基盤構築入門[Fluentd,Elasticsearch,Kibanaによるログ収集と可視化]
- 作者: 鈴木健太,吉田健太郎,大谷純,道井俊介
- 出版社/メーカー: 技術評論社
- 発売日: 2017/09/21
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
Elasticsearch実践ガイドは逆にFluentdのような周辺システムにはあまり触れずにElasticsearchについて必要なことが書かれている。ただ本書が対象としているElasticsearchのバージョンが6.2だが、最近6.3が出たのはちょっとタイミングが悪かったかもしれない。6.3からX Packは別途インストールする必要なくなったしね。とはいえ本書はElasticsearchについて学ぶのに良書だと思う。
presto/hiveクエリ変換
prestoでクエリを書いてあとでバッチ化するためにhiveに書き換えるというのはよくある話なので変換ルールをメモっておく。
prestoの方が機能的にリッチなんですが、安定性を考えるとバッチではhiveをうちの環境では使ってます。
一番よくつかうのがjson_extract_scalarをget_json_objectに変えることですね。2番目と3番目はそんなに使わないかも。
presto | hive |
---|---|
json_extract_scalar | get_json_object |
cross join unnest | lateral view explode |
mod | pmod |
ただprestoとhiveで似ているけれど微妙に挙動が違うケースがあります。
例えばprestoのurl_extract_hostとhiveのparse_url(..., 'HOST')
前者はjava.net.URIを使ってます。
https://github.com/prestodb/presto/blob/master/presto-main/src/main/java/com/facebook/presto/operator/scalar/UrlFunctions.java#L187
後者はjava.net.URLを使ってます。
https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFParseUrl.java#L70
結果としてhiveのparse_url(..., 'HOST')だとandroid-app://xxxみたいなときにxxxを取得できません。
Strata Data Conference in Londonで発表してきた
abstractやスライドは下記からたどれます。
https://conferences.oreilly.com/strata/strata-eu/public/schedule/detail/65222
一度はrejectされたCFPが2週間前になってacceptになったので慌てて準備して発表してきました。
20人ぐらいは来てくれたかな。発表直後には質問が出なくてちょっと寂しかったけど、その後いくつか質問くれたのでよかったです。
英語は正直まだかなり厳しいのですが、発表すると会話しやすくなっていいですね。しかも今回は最後とはいえ初日だったので明日の二日目が気楽です。
基調講演の印象だけ言うとプライバシーだったりGDPRだったりそういう方面にフォーカスが当たっているのかなと思いました。
ロンドンで現金、VISAカード盗難にあった
諸事情でロンドンに一人で来ていて現金、VISAカード盗難したのでメモっておく。
他の人が似たような状況にならないようになればと思います。
ロンドンは治安の良いところだと思っていたのですが、まあこういうことに遭遇してしまったので用心した方がいいですねという話です。
今回、現金とVISAカードを封筒に入れてそれをショルダーバッグの中において使っていました。外ではそれぐらいしか使わないだろうと思って日本で使ってた財布(中に日本円とか免許証とかがある)はホテルにおいてました。
で、気づいたらその封筒がなくなっていたというオチ。紛失の可能性もなきにしもあらずですが、地下鉄で盗られたのかなあと思ってます。ランチ食おうとしてレストランに入って注文した後に気づいた。食った後じゃなくてよかった。オイスターカードという日本でいうSuicaはあったのでホテルに帰ることはできました。
で、クレジットカードを止める必要があるわけですが、そのためのコミュニケーション手段は電話しかないです。
ただ僕の携帯からかけてもつながらず、ホテルの電話を借りてもうまくいかず、ロンドンのVJデスクにかけてそこで教えてもらった電話番号を何個か試してやっとつながりました。コレクトコールがうまくいかず直接、ホテルから日本に国際電話になりました。
三井住友の盗難受付デスクとロンドンのVJデスクの電話番号は下記にあります。
ロンドンのVJデスクは日本語OKですし、今回めんどくさい話を英語でホテルの人にしてもらいました。感謝。
https://www.smbc-card.com/mem/goriyo/kaigai_lost_list.jsp
https://www.smbc-card.com/mem/service/tra/pop/vj_london.jsp
後からわかったのですが、僕はLINE Mobileをつかっていてこれはデフォルトだと国際通話できません。オプション登録する必要があります。登録はwebからできて1日で完了しました。
なのでLINE Mobileユーザで海外に行くときはこのオプションを登録した方が良いと思います。
https://mobile.line.me/plan/option/
もしかしたらLINE Outなら通話できたのかも。
今回の件に関して、思ったのは海外においては電話という手段はネットと比べるとそこまであてにできないなということです。もちろんケースバイケースではありますが。
本人確認が必要だから電話が必要なんでしょうが、電話といっても公衆電話やホテルの電話もあれば携帯電話もあり、携帯電話もキャリアやMVNOによって微妙に差があるので、こうすれば絶対通話できるというものがない気がします。
ネットだったら繋がりさえすれば、デバイスに違いはそんなにないと思いますし、チャットでやりとりできた方が楽ですよねという。
ともあれ、クレジットカードを止めたはいいものの今後お金どうするんだという話ですが、結論から言うと僕はたまたま別途ソラチカカードを持っていてこれでATMから現金引き落とせました。
http://www.to-me-card.jp/campaign/tome_ana/
もしこれができなかったら、VISAカードを緊急発行して現地で受け取るしかなかったと思います。その場合でも3日ほどはかかりますが。なお僕の場合は日本円を持っていたのでそれをポンドに変えておきました。
そういうのが一切ない場合は、ホテルからなんとかしてお金借りてカードくるまで待つ以外の選択肢を思いつきません。あったら共有していただけたら嬉しいです。
ちなみにソラチカカードを作った理由は、私鉄で定期+オートチャージしたいから以前作りました。
ソラチカカードはJCBベースで、JCBカードはぶっちゃけ海外ではほとんど使えないと思った方がいいと思います。
JCBプラザ・ロンドンに行って日本語で説明を聞きましたけど、少なくともロンドンで使える場所は限られているようです。
http://www.jcb.jp/ws/plaza/plaza_london.html
なのになんでATMでおろせたかというとソラチカカードがcirrus対応しているのでcirrusマークがあるATMなら、そこがJCB対応と書かれていなくてもキャッシングできるからです。LINE PayはJCBだけどICチップないのでNG
だらだら書いたのでまとめると、ひとりで海外行くときはクレジットカードは2枚持って別々に管理するべき、カードの種類はVISAとMasterがおそらく最強。LINE Mobileユーザは国際通話できるようにしておく、ですね。
あ、あと暗証番号は忘れないように。日本でクレジットカードの暗証番号入力することがあまりない方は忘れがちなので。
なんというか日本である程度シェアがあるけど海外ではほぼないサービスを使っていて海外でトラブルと厳しいですね。SPOFは避けて二重化大事という話でした。