ビッグデータ ── 従来のツールでは扱いきれない大規模・多様・高速なデータ
「ビッグデータ」というバズワードは2010年代半ばがピーク。 現在はクラウドDWH(BigQuery等)が普及し「特別な技術」から「日常」に。 とはいえ概念整理は今も有効です。
「ビッグ」の3つの軸:
これらを満たすにはバッチ(Hadoop/Spark)+ストリーム(Kafka/Flink)の組合せが定石。
分散処理の基本パラダイム MapReduce:
これにより数千台のクラスタで数PBの集計が可能になります。
「ビッグ」のサイズ感:
1GB超えたら pandas は厳しい。 Spark or BigQuery の出番。
最小限のスニペットで動作確認できる例。 公的データ(SSDSE 等)を想定しています。
1 2 3 4 5 6 7 8 9 10 11 12 | # PySpark の最小例 from pyspark.sql import SparkSession spark = SparkSession.builder.appName("demo").getOrCreate() df = spark.read.csv("hdfs:///data/sales/*.csv", header=True, inferSchema=True) # pandas風だが分散実行される result = (df.filter(df.year == 2023) .groupBy("prefecture") .agg({"amount": "sum"}) .orderBy("sum(amount)", ascending=False)) result.show() |
| パターン | 特徴 |
|---|---|
| Lambda | バッチ+ストリーム並行 |
| Kappa | ストリームのみ統一 |
| Medallion | Bronze→Silver→Gold の段階精製 |
| Lakehouse | レイク+DWHの統合 |
| パターン | 特徴 |
|---|---|
| Lambda | バッチ+ストリーム並行 |
| Kappa | ストリームのみ統一 |
| Medallion | Bronze→Silver→Gold の段階精製 |
| Lakehouse | レイク+DWHの統合 |