大量データハンドリングのこつ

Download Report

Transcript 大量データハンドリングのこつ

大量データハンドリングのこつ
大学院共通コース 特別講義
2011/07/07
基礎第一講堂
統計遺伝学分野
山田 亮
• 実験系のデータ量はどんどん増えている
• 実験系が、解析系とデータを共有したり、解
析系に頼らずに自前でハンドリングする必要
も増えている
• 実験系で分量の多いデータを管理することが
必要なのは言うまでもないけれど、その管理
のこつは何だろうか?
問1
この部屋の「整理整頓」
的な問題点を列挙せよ
問2
この領域の「整理整頓」
的な問題点を列挙せよ
Yes!
すてきな
お部屋の
作り方、
教えます
そんな、講義な、わけがない
問3
この棚の「整理整頓」的
な問題点を列挙せよ
りかさん、
お客様用の湯
飲みはどこか
しら、
りかさん、この
家には、何枚
のお皿がある
の、
りかさん、この
家には何種類
のスプーンが
あるの、
りかさん、どう
してお皿がこっ
ちを向いてい
るの、
りかさん、1段
目と2段目の
マグカップはど
う違うの
何でも聞いてください
即座にお答えしますから!
りかさん、
あなた、いつま
でも、ここに居
られると思って
いるの?
こんなに頑張ってい
るのに、どうして、認
めてもらえないの?
複雑な書式
複雑な書式
問4
この書式の「整理整頓」
的な問題点を列挙せよ
りかさん、
どこに何を書くのかわからないわ!
りかさん、
どこに何を書くのかわからないわ!
書き方マニュアルを
用意しました
りかさん、
どこに何を書くのかわからないわ!
書き方マニュアルを
用意しました
まさか、その
マニュアルが、
「どこに何が
書いてあるか
わからない」っ
てことはない
んでしょうね!
これだから、お役所ってやつは・・・
ユーザー フレンドリーな構成
ユーザー フレンドリーな構成
問5
このサイトの「整理整頓」
的な問題点を列挙せよ
りかさん、
ごちゃごちゃした棚があるところは、
前とそっくりね
データハンドリングの専門組織が、
「ユーザー フレンドリー」
を目指したのに・・・
きちんとした表
きちんとした表
問6
このエクセルの「整理整
頓」的な問題点を列挙せ
よ
りかさん、
きちんとした表
ずいぶん、すっきりしたけれど、
この、何もない行はなんなの?
この何もない列は何なの?
どうして、空白行は3行なの?
空白行は1列なのに!!
空白をなくしました!
空白をなくしました!
問7
このエクセルの「整理整
頓」的な問題点を列挙せ
よ
こちらも
りかさん、
空白はなくなったけれど、
この色は何?
「何色」って呼べばいいのかわからな
いでしょ!
文字ばっかり、大きさも一緒、色もない
りかさん、
すっきりしたじゃない・・・
りかさん、
これって、
すっきりしたじゃない・・・
醜い(見難い)
だけで、
何もしてない・・・
皆さんは
どんなデータを持っていますか?
りかさん、
これって、
すっきりしたじゃない・・・
醜い(見難い)
だけで、
何もしてない・・・
テキストファイルの世界
テキストファイル
• 拡張子
• “ hoge.txt”
• “ hoge.xls”, “hoge.xlsx”
ヒトも計算機も相互に歩み寄ろう
テキストファイル
データ
AB漢字12
あなたが使う
計算機が使う
AB漢字12
41 42 b4 c1 bb fa 31 32 0a
テキストファイルは、ヒトと計算機の中間
決して計算機寄りではない
テキストファイルの世界
• ここからのスライドは、ビジュアルでなくなりま
す。。。
テキストファイルを使うとき
• 計算機のために歩み寄る
• 「ヒトにわかり易い」状態も維持する
– そうでないと、続けられない
• エクセル
→
• テキストファイル →
– …これは少しあとで。
テキストファイル
エクセル
データを管理する
データとは
• 「値」
• 「構造」
テキストファイルの中身
• 「目に見える文字」は「値」
– 記入するもの
• 「目に見えない何か」「読まない何か」は「構
造」
– 書式
問8
このエクセルの「書式」
がどこにどう現れている
か、列挙せよ
問9
このエクセルの「書式」
がどこにどう現れている
か、列挙せよ
「値」
• 「値」には「持ち主」がいる
– 「だれの」
– 「何に関する」
• 「持ち主」
– 「持ち主」は
• 行にする
• 列にする
• 行と列で足りなかったら
「構造」~書式
• テキストファイルが持てる「構造」はシンプル
に
• 「目に見えない何か」「読まない何か」は「構
造」
テキストファイルで構造を作る
• 2種類の「目に見えない何か」「読まない何
か」は「構造」だけで作る
• 2種類を使う
• 2種類以外は使わない
「目に見えない何か」「読まない何か」
• 2種類以外は使わない、ためには、「目に見
えない何か」「読まない何か」を「すべて知る」
必要がある
• 「読まない何か」
– “,” “.” “:” “;” “#” “$” “%” “&” “?” “\” …
– これは「見えるから『簡単』」
「目に見えない何か」
• 「空白文字」
あ
い
う
え
え
あ
い
う
2種類を使って、構造を作る
• 「改行文字」が1種類
– 改行文字をつなげると、「繰り返して改行する」
– 「改行文字」1個分が大切
• あと1種類だけ
– 「空白文字」をつなげると、『個数』に該当する構
造が生じる
– 「空白文字」1個分に意味を持たせる
– 「タブ」
– 「カンマ」
タブ区切りのテキストファイル
カンマ区切りのテキストファイル
• エクセルファイルを
– タブ区切りのテキストファイルで保存する
– カンマ区切りのテキストファイルで保存する
• テキストを
– タブ区切りのテキストファイルから開く
– カンマ区切りのテキストファイルから開く
ファイルの内容を
『2種類の空白文字』だけで
書式にできたか?
• 「値」は行列の番地で指定できる
• 『どの行列番地に何の「値」が入っているか』、
をファイルを開かずに言えるかどうかでチェッ
ク
• ファイルを開いて、「値」を見たら、その「行列
番地」を確認したら、その値の意味を説明で
きるかどうかでチェック
デジタルな情報と
アナログな情報
• デジタル:テキストファイル
• アナログ:いわゆる「一目見てわかりやすい」
ファイル~「絵画」ファイル
• ヒトとしてのあなたにとって便利なもの、うれし
いものは、たいてい、「あなたの人間性に訴え
ている」
• →計算機は嫌い
「絵画」について
• 「絵画」は人間にとってわかりやすい
• 「絵画」は計算機には複雑すぎる
「絵画」に特徴的なこと
•
•
•
•
•
•
「枠」表示
「色表示」
「線」による意味づけ
「空白の量(長さ・面積)」による見栄えの調整
「矢印」
「吹き出しコメント」:もってのほか
データ処理の特徴から考える
• 人間が得意で計算機が苦手なこと
– 人間は、「絵画」情報を「総合的」に判断するのが
得意
– 計算機は「絵画」情報を「総合的」に判断するの
が苦手
• 人間が苦手で計算機が得意なこと
– 人間は、「繰り返し」「やり直し」が嫌い(やるのを
拒否する)
– 計算機は、「繰り返し」「やり直し」が好き
• 人間が苦手で計算機が得意なこと、その2
– 人間は粒粒に分解された情報より、それらをある
ルールで統合してあるときに、それを活用する(意味
をつける)ことが得意
– 人間は粒粒な情報を統合する処理自体は苦手
• 特に、いろいろなパターンで統合する処理は嫌い(繰り返し
作業だから)
– 計算機は統合してある情報を粒粒に戻すのが苦手
– 計算機は、粒粒な情報をルールで統合する作業は得
意
• 特に、統合ルールが複数あるときは、その作業が得意
テキストファイルは作れた
• 構造~書式がシンプルすぎて
• 盛り込めない情報があふれ出る!
あふれ出る情報の
「持ち主」を確認する
• ファイルの中の値の「持ち主」なら
– ファイルの中に納められるはず
• 「ファイル」が「持ち主」なら
– ファイルの中に納めず、
– ファイルの外に納めればよい
「ファイル」『が』「持ち主」である情報
• その情報は「ファイル」の属性
• 「ファイルの属性」はファイルの外側に
• 「ファイルの外側」
– ファイル名
– ファイルの置き場所
データとは「値」と「構造」を持つもの
• データ~「値」+「構造」を計算機に納めるとき
に使えるものは何か
– ファイルの中身
– ファイルとディレクトリ構成
– ファイルとディレクトリ構成にも「値」と「構造」があ
る
• 「値」:ファイル名、ディレクトリ名
• 「構造」:階層構造・木構造
ディレクトリ構成
ファイルとディレクトリ
•
•
•
•
•
「値」
「構造」
複数のファイル
複数のディレクトリ
階層化したディレクトリ
• これらが一塊で「整理されたデータ」
• 一括して、「固めよう」
– 圧縮は、「小さくする」ことでもあるけれど
– 「まとめあげる」ことでもある
修正したくなった時
• ディレクトリ構成、ファイルがたくさん
• 一部のファイルの一部が書き換えたい
• 「一部の修正」して「更新」するより
• 「全部をコピー」して、「一部」を修正して、時系列管
理・版管理する方がよい
• なぜなら:
– 計算機は、繰り返しが好き・一からやり直すことが好き、
だから
今日、扱わなかった
データの取り扱い方法
データベース
• 「データベースは」たくさんの情報を「しまって」
おいて「出す」のが得意
• すべてのデータを扱いたいときは、「気になっ
たもの」を「出す」だけではだめだから、「大量
データ」のすべてを管理したいときは、ファイ
ル管理から始めるのがよい
データ整理お疲れ様
こんなにたくさんの
データを
お金を使って
手間暇かけて
算出したんだから、
そして、「整理」もした
んだから、
あとは「ちょちょい」と
「あの論文のように」、
「リザルト」にしたい
ヒトは頭がよく
計算機は着実だ
• 「ヒト」が『データをこう処理すれば』、と思うと
き
– それは、たいてい、猛烈に込み入ったことをやろ
うとしている
着実で
ひたむきで
頑固な
計算機
• 計算機は、「繰り返し」「やり直し」が好き
• 計算機は統合してある情報を粒粒に戻すの
が苦手
• 計算機は、粒粒な情報をルールで統合する
作業は得意
処理をフローに、そしてシンプルに
処理をフローに、そしてシンプルに
• フローはなるべく、直列で(分岐を作らな
い)
• フローはステップに分けられるように
• 分岐(場合分け)が必要となったら、分岐
後にまた統合することはできるだけ避け
る
• ステップに分けたら、ステップの分担をき
れいにする
• ステップ間のやりとりのルールを先に固
定して、ステップ内部の処理は担当者に
任せる
フローの途中処理をするために工夫
するくらいなら
初めから処理をし直す
ヒトは、「やり直し」が大嫌い
計算機は「やり方」の変更が大嫌い
データの準備
分担する
外注する
共同研究する
いずれにしろ、縦に切
れていることが大事
処理の間の取り決めを
先に決める
中身は分担者に任す
こんなにたくさんのデータ
を
お金を使って
手間暇かけて
算出したし、
「整理」もしたんだから、
あとは「計算機がちょちょ
いとできる」と思えるよう
に、交通整理をすればいい
のね。
• 個別に相談?
– 統計遺伝学分野
– 内線 9470
– [email protected]