EmbulkでMySQLのデータをBigQueryにロードするのに便利なツールの開発

Embulkを利用してMySQLのデータをBigQueryにロードする際に便利なツールを開発したので紹介です。 「Samidareっていいます! よろしくお願いします。Embulkの設定作成はお任せください!」 開発経緯 業務でログデータの解析基盤としてBigQueryを使用すること…

H2 Databaseでの主キー生成、ユニークインデックス生成について

H2 databaseでの主キー生成、ユニークインデックス生成について調べる機会があったので 備忘のためにまとめてみました。以下のようなテーブルを例として、主キー、ユニークインデックスの生成、削除、定義確認の SQLを列挙しています。 なお、記述したSQLの…

MySQLのデータディクショナリの活用例

テーブル名からDDLを生成するライブラリ作成の過程で MySQLのデータディクショナリを活用したので活用例を記しておきます。 なお、MySQL 5.6.15にて動作を確認しております。 まずは基本的な部分から。 ・テーブル一覧 SELECT * FROM INFORMATION_SCHEMA.TAB…

Windows7でのgem install mysql2エラーへの対処

Windows環境へRuby on Railsをセットアップする際にmysql2のインストールで ハマったので対処方法を後世のために記しておきます。 なお、以下の環境における内容になります。 [環境情報] OS:Windows 7 Ruby:2.0.0p353 Rails:4.0.2 MySQL:5.6.15 Ruby、Rai…

JavaScriptの真偽値判定について

JavaScriptの真偽値判定が独特な挙動を示すのでまとめてみました。 静的型付言語を主に扱っていると驚かされますね。 Flexigridのソースを眺めていたら以下のようなコードがあって「?」となったのですが JavaScriptのブーリアン型への暗黙の型変換の仕組を…

jQueryのFlexigridのflexOptions、paramsについて

今更ながらにFlexigridです。 データロード時に任意のパラメーターをサーバーサイドに 渡す方法が見つからなかったのでまとめてみました。 flexOptions、paramsはあまり使われていないのですかね。 以下のような画面で入力された内容を元に データを絞り込ん…

jarコマンドでマニフェストファイルだけ取り出す

普段何気に利用しているjarのバージョンが気になって マニフェストファイルを確認しようと思ったら意外と面倒で 簡単に実現できる方法はないか色々と試してみました。 結論としては以下のコマンドでマニフェストファイルだけ抽出できますね。 「xオプション…

PythonのMySQLdbでCREATE TABLEなど

Scalaのコードで埋まるはずが今度はPythonだったりします。 MySQLサーバーを立ち上げて色々といじって遊んでいるのですが CREATE TABLEやDROP TABLEといったDDLをアプリケーションから 実行できないか試してみました。 テーブルのCREATEをアプリケーションか…

githubはじめました

タイトルのとおり、ようやくgithubにリポジトリを作成いたしました。 アカウントはかなり前から取得していたのですが、 新しいことを始める際は最初の一歩を踏み出すのが大変でありますな。 これまで蓄えてきたものを少しずつアップしていこうと思いますが …

Javaのジェネリクスと継承のいい関係の模索

継承関係のあるクラス系統にジェネリクスを導入するので苦労していたのですが Comparableに関しては以下のように書けることに気付きました。 ジェネリクスの型パラメーターには具象クラスしか指定できないという 錯覚を持っていたのがこれまでハマっていた原…

JavaのリフレクションでprivateなMapの値を変更する

JUnitでのテストの都合でprivateなMapの値を強制的に変更する必要があったので リフレクションを使って試しに書いてみました。 なお、JDK1.6での記述になります。 import java.lang.reflect.Field; import java.util.Map; public class ForcedValueSetter { …

SQLでテーブルデータの一括作成、複製

多人数で同一環境を利用する、または負荷テストで大量のデータが必要となる 場合などに知っておくと便利なSQLテクニックの紹介になります。 [EMPテーブル] ID: 整数型の列 NM: 文字列型の列上記のようなテーブルに数千件、数万件規模のデータを登録するのは…

JDK1.6におけるTimestampのvalueOfの実装変更について

TimestampクラスのvalueOfメソッドの実装がJDK1.6でstrictモードに変わっていて 酷い目にあったので仕様の詳細についてまとめてみました。 月日の部分が2桁ないとIllegalArgumentExceptionが発生します。 1~9の値の場合はゼロ埋めが必要になります。 どうい…

Javaのジェネリクスでハマった件について

抽象基底クラスにcompareToメソッドの実装を持たせた以下のような クラス定義を行った場合にHogeListHolderがコンパイルエラーとなります。 原因はHogeクラスはComparableEntityの継承クラスではなく ComparableHogeの継承クラスと判断されるからです。 ・Ho…

ScalaでgroupBy

久々にScalaでコードを書いてみました。 これまではテキストエディタで描いていたのですが今回はIDEA 12環境で取り組んでおります。今回のお題はコレクションクラスのgroupByになります。 値の分布レンジ毎に集計するという基本的な処理を書いてみました。 …

Scalaでお釣りの最適化

関数型ぽく書けるようになるにはひたすらコードを書き続けるしかないという事で まずは手ごろそうなお釣りの最適化(最小枚数化)に挑んでみました。 varで剰余を管理しているのが残念な感じですね・・・。 他の人がどのように書いているかこちらを覗いたら全…

Scalaで年月単位の期間計算

勤続年数や有効期限など世の中には何かとある日からどれだけの日数が 経過したかの計算することがあります。 特に年月単位での計算が多いのでScalaでどのように記述できるか試してみました。 Joda Timeを使えばいいじゃない、で実用面では終わってしまう話な…

Scalaでformat

前回の書き込みから久方ぶりになります。 細かなことでも継続していないと駄目でありますな。ScalaではJavaとは異なる書式形式で数値や日付の文字列出力が行えるようなので 試してみましたわ。書式指示子が複数ある場合にどの引数を割り当てるのかに 「 なお…

Scalaでファイル出力

Scala人口拡大を目指し、実用的なサンプルコード作成に取り組んでいこうと考えております。 今回は複数のテキストファイルをマージして出力するコードに挑戦してみました。 ディレクトリ内の情報を取得するのにJavaのFileクラスを使わざるをえなかったのです…

Scala始め

// ブログなぞを始めてみた次第でアリマス。 とりあえず、Scalaで素数判定プログラムを書いてみましたわ。 returnを使わずに結果リストも生成するコードにするにはどうすればよいのかしら。 import scala.math.sqrt object PrimeNumber { val START_NUMBER = 2 d…