2020-01-01から1年間の記事一覧

Treasure DataのJobの状態を監視するPromethesuのExporterを作った

経緯 Treasure DataのJobの同時実行数には上限があり場合によっては不要なJobをKillするなどの対応をする必要があるが、そもそも現状のコンソール経由だと実際にどれくらいのJobが実行中なのかがぱっと見わからない。 API経由でJobの状態を取得可能なのでと…

TreasureDataのSQLでパラメーターを使いたい

1. はじめに ここでいうSQLでパラメーターが使いたいというのは以下のようなSQLを意味します。 SELECT * from www_access WHERE code=@code 残念ながらTreasure DataのSQLは単体でパラメータ(変数)を扱うことができません。 注意: Presto自体にPrepareとExec…

GoのInterfaceについての個人的まとめ

GoのInterfaceについて A Tour of Go 上記のページからの引用だがA tour of Goでは以下のように記載されている。 interface(インタフェース)型は、メソッドのシグニチャの集まりで定義します。 そのメソッドの集まりを実装した値を、interface型の変数へ持た…

GoでのNodeの扱い方

TreeNodeの次をとる方法。 /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func getDecimalValue(head *ListNode) int { curr, result := head, 0 for curr != nil { result = result<<1 result += …

Goで数値を文字列にする方法

strconvで変換する。 import ( "fmt" "strconv" ) func subtractProductAndSum(n int) int { sum, prod := 0, 1 for _, x := range fmt.Sprintf("%d", n) { xi, _ := strconv.Atoi(string(x)) sum += xi prod *= xi } return prod - sum }

Golangで配列内の重複する値を調べる方法

辞書型のデータを作って、Keyに配列の値をいれる。 それをforでincrementしたらそれぞれが何個入っているかがわかる。 func repeatedNTimes(A []int) { list:= make(map[int]int) ln:=len(A) for _, val:=range A { list[val]++ } } fmt.Println(list) }

vimまとめ

vimオープン中にファイルを開く方法 :e <filename> editのe 単語の先頭に移動する w wordのw 単語の最後に移動する e endのe 前に戻る b backwardのb</filename>

JSONをTreasureDataにスムーズにいれたい

TreasureDataを利用していて一番むずかしいのがJSONファイルの扱いである。 以下のタイプのようなJSONファイルを入れることは簡単だ。 そのままDataConnectorのJSON parserを使ってくれればいい。 { "name": "Tanaka", "age": 26 } { "name": "Suzuki", "age…

Hive/PrestoでのJSONの展開方法

Hiveでのjsonの展開方法についてのメモ こんなJSONを無邪気に入れてしまっていないだろうか。 [{"key":"k1","value":"v11"},{"key":"k2","value":"v12"}] さてこのデータをこんな感じのテーブルに展開したいが、どうしたらいいのだろうか。 配列で入ってれば…

Treasure DataにおけるBulk Importの種類について

TreasureDataにデータを入れる方法について 大まかに以下の2種類が存在する。 Streaming Import Bulk import Streaming Importってなに fluentdやjs-sdkなどを利用して、リアルタイムで生成されているデータを転送する方法。 1回あたりにインポートされるレ…

サポートへの質問の仕方について思うこと

サポートってなんだ サポートの仕事を始めておおよそ半年。 その中で感じたことを思うままに綴るポエムです。 サポートって何だ? サポートは顧客の技術的な課題を解決するロールである。 ソリューションアーキテクト(以下、SA)やプロフェッショナルサービス…

Prestoについての個人的まとめ その1

いわゆるビッグデータを解析するときに使うツール(DWH)といえばどんなものがあるだろうか? 私見ではあるが以下のものが使われるのが一般的ではないだろうか。 BigQuery RedShift Hive Presto 今回は上記の中からPrestoについての特徴について個人的なメモを…