コンテンツにスキップ

データ処理の仕組み

通常のプランでは、データ処理を Python で行います。速くて扱いやすい一方、データが大きくなると遅くなり、やがて処理しきれなくなります。

Hyper nehan は大きなデータを Apache Spark で処理して、この頭打ちを外します。

自動で切り替わる

Spark が速いのは大きなデータのときだけです。小さなデータでは Python のほうが速いので、nehan はデータの大きさを見て自動で使い分けます。

データが入ってくる
大きさを測る 行数 × 列数
大きさで振り分ける
決まった大きさを超えている
Spark で処理
超えていない
Python で処理
切り替えは nehan が決めます。設定する場所はありません

測り方

分析プロジェクトのノードは、ファイルの容量ではなく行数 × 列数(セルの数) で測ります。切り替わる値は処理ごとに違います。

処理ごとの目安を開く(45 件)
切り替わるセル数処理
600 万クロス集計(横持ち変換)
1,300 万キー列を指定する結合 / 先頭/末尾からn行選択 / 文字列の分割
2,600 万特徴量選択
3,900 万縦持ち変換 / 列or行方向の比率計算
5,200 万グループごとの結合 / ランダムにデータを分割
6,500 万ダミー変数列の作成 / データの値を列に挿入 / データ集計 / 行の並べ替え / 条件で行をフィルタ / 条件に応じて値を列に挿入 / 数値列間の相関係数を求める / 値を列に挿入 / 日付要素の切り出し / 日付列の加算/減算 / 文字の置換 / 文字の抽出 / 文字列のゼロ埋め / 列の並べ替え
7,800 万行フィルタ条件による分割 / 数値列のカテゴリ化 / 文字列を数値に変換
9,100 万指数・対数変換 / 数値列の丸め / 数値列同士の演算 / 文字列同士の結合
1 億 400 万数値の二値化 / 列選択/削除
1 億 1,700 万Box-Cox変換・逆変換 / 欠損値処理 / 数値の正規化
1 億 3,000 万データを行方向にずらす(ラグ操作) / 重複行の処理 / 単純な横結合 / 単純な縦結合 / 日付列同士の差分計算 / 列の型変更 / 列選択(シンプル) / 列名の変更 / 連番の追加
2 億 6,000 万列or行方向の累積和

目安が決まっていない処理

対応している 51 件のうち 6 件は、個別の目安を持ちません。 これらは行数 1,000 万行で切り替わります(セル数ではなく行数で測ります)。

一覧を開く(6 件)

シンプルなサンプリング / 外れ値の処理 / 特殊な文字列のクレンジング / 日付の丸め / 文字列のクレンジング / 連続数値、日付の補間

書き出しの目安

データをエクスポートするは 1,300 万セルで切り替わります。印が付いた出し先に限った話で、印が付かない出し先はどれだけ大きくても通常の処理です。印が付く出し先はHyper nehanとはにあります。

どのくらい速くなるか

次の条件で測った結果です。御社のデータと設定では違う値になります。

項目内容
ベースプランX ラージ
Hyper nehanHyper1
1GB のデータ約 1,700 万行 × 14 列
5GB のデータ約 8,400 万行 × 14 列
データソース作成(1GB のファイルをアップロード)
Hyper なし 180 秒
Hyper あり 70 秒 (2 倍速い)
データソース作成(5GB のファイルをアップロード)
Hyper なし 600 秒
Hyper あり 220 秒 (3 倍速い)
キー列を指定する結合(1GB)
Hyper なし 220 秒
Hyper あり 40 秒 (4 倍速い)
キー列を指定する結合(5GB)
Hyper なし 760 秒
Hyper あり 130 秒 (5 倍速い)
データが大きいほど差が開きます

実際に Spark で動いたか確かめる

ノードの実行が終わると、Spark で動いた場合だけ印が付きます。Hyper nehanとはを参照してください。

関連