>100 Views
May 07, 25
スライド概要
【講演内容】
HeatWave Lakehouseで発言になるcsvデータを必要な分だけロードしてデータまとめてみた!
- ジニアス・ソノリティの業務内容と背景
‐ HeatWave Lakehouseでその悩みを解決する
‐ HeatWave Lakehouseでの実装例
‐ HeatWave Lakehouseここが便利
【発表者】
ジニアス・ソノリティ株式会社
米内山浩介氏
【イベント情報】
HeatWavejp Meetup #13
https://heatwavejp.connpass.com/even/349599/
HeatWavejpは、MySQL HeatWave の良さを知っていただき、参加者同士でノウハウやナレッジを共有できるユーザーコミュニティです。参加者同士のつながりを深めるため、以下の活動を行ってまいります。 COMMUNICATION *Slackやconnpassを活用したユーザー同士のコミュニケーションの場の提供 EVENT *オンライン/オフラインでのMeetupセミナーや勉強会の開催(隔月程度) SHARING *製品情報や最新アップデート、リリース情報の共有 INTERACT *参加者のコミュニティ・ネットワークやユーザー同士の交流を促進
HeatWave Lakehouse で 膨大になるcsvデータを 必要な分だけロードしてデータ集計してみた! ジニアス・ソノリティ株式会社 米内山浩介
業務内容 ゲームソフトの開発および運営
New 電波人間のRPG FREE! あなたの周りの電波人間を、探して、仲間にして、冒険しよう! Genius Sonority Inc. Android iOS Nintendo Switch版もあ ります!
昔々のゲームとは違い、今は色々な情報が運営の手の中にある ・ゲームのプレイログ ・セーブデータ ゲームプレイ状況を分析したくなる、が ストレージの扱いで悩む (リリース初期のデータを分析したい、とずっと後になって言われるとつらい)
HeatWave Lakehouseでその悩みを解消する オブジェクトストレージ アプリケーションサーバー path/of/data/2025/04/17/data.csv アプリケーションサーバー データ管理・集計サーバー path/of/data/2025/04/16/data.csv path/of/data/2025/04/15/data.csv path/of/data/2025/04/14/data.csv : : アプリケーションサーバー : 一旦集計用のサーバーにデータを集約 分析に必要な情報を日ごとに csv化してオブジェクトストレージにアップロード レンジパーティション的にデータ配置する
HeatWave Lakehouseでの実装例 (1)
※2025年4月分の月間データをロードする例(テーブル、カラム名は仮です)
CREATE TABLE IF NOT EXISTS `dailyinfo` (
`date`
DATETIME NOT NULL,
`user_id` INT UNSIGNED NOT NULL,
`data01` INT UNSIGNED,
`data02` INT UNSIGNED,
`data03` INT UNSIGNED,
PRIMARY KEY(`date`,`user_id`)
) ENGINE=Lakehouse SECONDARY_ENGINE=RAPID ENGINE_ATTRIBUTE='{
"file":[{
"bucket":"bucket-name",
"namespace":"project-namespace",
"region":"project-region",
"prefix":"path/of/data/2025/04/"
}],
"dialect":{ "format":"csv","is_strict_mode":false,"field_delimiter":",", "record_delimiter":"\\n" }
}';
HeatWave Lakehouseでの実装例 (2)
※2025年4月1日から3日までの3日分データをロードする例
ALTER TABLE `dailyinfo` ENGINE_ATTRIBUTE='{
"file":[
{"bucket":"bucket-name","namespace":"project-namespace","region":"project-region",
"prefix":"path/to/data/2025/04/01"},
{"bucket":"bucket-name","namespace":"project-namespace","region":"project-region",
"prefix":"path/to/data/2025/04/02"},
{"bucket":"bucket-name","namespace":"project-namespace","region":"project-region",
"prefix":"path/to/data/2025/04/03"}
],
"dialect":{"format":"csv","is_strict_mode":false,"field_delimiter":",","record_delimiter":"\\n"}
}';
HeatWave Lakehouseここが便利 ・prefixのディレクトリ形式で欲しいレンジを指定可能 ・ALTER TABLE xxx ENGINE_ATTRIBUTE=...で読み込みたい日付を後から 切り替えも可能 ・オフィシャルで用意してある機能である ※使わない場合オブジェクトストレージからダウンロードしてインポートする処理を自前で作る必要がある ・なによりもデータをオブジェクトストレージに置いておける ※MDS側ストレージのひっ迫でお悩みの方におすすめです
ご清聴ありがとうございました New 電波人間のRPG FREE! よろしくお願いします! Android iOS Nintendo Switch版もあ ります!