SlideShare a Scribd company logo
1 of 27
14.07.02 Kashiwa.R #10
巨大な表を高速に扱う
data.table について
@yuifu
自己紹介
• @yuifu
• 大学院生
• バイオインフォマティクス
2
http://www.slideshare.net/yuifu/fdr-kashiwar-3
data.tableを紹介するスライドはすでに色々ありますが…
3
http://www.slideshare.net/sfchaos/datatable
(簡潔で分かりやすかったです
)
でも、data.tableさんってdata.frameさんとかなり違うの…
• data.frameで当たり前だと思ってたことが、当たり前じゃなか
ったり…
• そこで本発表では
• data.tableを使おうとしたらdata.frameと色々違ってて面倒
だった点に重点を置いて紹介する
4
表
• データ解析でよく使われる
• 理解しやすい
7
イントロ
表にはdata.frameがよく使われる
• 外部の表形式データをread.table, read.csvで読み込んだり…
• Rに用意されてるデータセットもたいていdata.frame
8
> class(USArrests)
[1] "data.frame"
> head(USArrests)
Murder Assault UrbanPop Rape
Alabama 13.2 236 58 21.2
Alaska 10.0 263 48 44.5
Arizona 8.1 294 80 31.0
Arkansas 8.8 190 50 19.5
California 9.0 276 91 40.6
Colorado 7.9 204 78 38.7
イントロ
data.frameさんはちょっと…
• data.frameで巨大な表を読み込むと…
• 読み込みが遅い
• いちいち動作が重い
• うっかり全行表示してしまうと辛い(固まる)
9
イントロ
遅くても待てばいい?
• ルーチンの作業を実行するならそうかもしれない
• データ解析だとルーチンでない作業が多い
• データ読み込んだり
• 加工したり
• 層別したり
• 集計したり
• → 対話的にデータをいじくるには速いに越したことはない
10
イントロ
そこでdata.table
• 速い!
• 便利!
• うっかり全行表示しない!
11
http://photozou.jp/photo/show/1934405/188750786
イントロ
表の作成が速い
14
> grpsize = ceiling(1e8/26^2)
> tt=system.time( DF <- data.frame(
+ x=rep(LETTERS,each=26*grpsize),
+ y=rep(letters,each=grpsize),
+ v=runif(grpsize*26^2),
+ stringsAsFactors=FALSE)
+ )
> tt
ユーザ システム 経過
18.319 9.352 35.238
> head(DF)
x y v
1 A a 0.5229118
2 A a 0.8970509
3 A a 0.6302130
4 A a 0.5424760
5 A a 0.2111072
6 A a 0.6619162
> grpsize = ceiling(1e8/26^2)
> tt=system.time( DT <- data.table(
+ x=rep(LETTERS,each=26*grpsize),
+ y=rep(letters,each=grpsize),
+ v=runif(grpsize*26^2))
+ )
> tt
ユーザ システム 経過
6.866 0.980 8.787
> head(DT)
x y v
1: A a 0.4385627
2: A a 0.6508053
3: A a 0.7925830
4: A a 0.4220287
5: A a 0.8465619
6: A a 0.5719564
data.frame data.table
data.tableの方が表の作成が速い!
data.tableの使い方
data.frameをdata.tableに変換
15
> dt_car <- data.table(cars)
> head(dt_car)
speed dist
1: 4 2
2: 4 10
3: 7 4
4: 7 22
5: 8 16
6: 9 10
data.tableの使い方
表の読み込みが速い
16
> system.time(df <- read.table(filename, sep="t",
fill=T))
ユーザ システム 経過
7.472 0.176 7.738
> dim(df)
[1] 626393 7
> system.time(dt <- fread(filename, sep="t"))
ユーザ システム 経過
0.387 0.028 0.416
> dim(dt)
[1] 773042 7
data.frame data.table
data.tableの方が表の読み込みが速い!
data.tableの使い方
全行表示しない
17
> dim(DT)
[1] 100000004 3
> DT
x y v
1e+00: A a 0.4385627
2e+00: A a 0.6508053
3e+00: A a 0.7925830
4e+00: A a 0.4220287
5e+00: A a 0.8465619
---
1e+08: Z z 0.2710513
1e+08: Z z 0.1001215
1e+08: Z z 0.7190453
1e+08: Z z 0.3677681
1e+08: Z z 0.4660653
data.tableの使い方
うっかり全行表示しようとしない!
→安心!
tables()でメモリ上にあるdata.tableオブジェクトを確認
18
> tables()
NAME NROW MB COLS KEY
[1,] ans2 147,929 4 x,y,v
[2,] ans3 147,929 4 x,y,v x,y
[3,] dt 773,042 40 method,V2,platform,source,V5,V6,year platform,method
[4,] DT 100,000,004 2289 x,y,v x,y
[5,] dt_car 50 1 speed,dist
[6,] ss 26 1 x,V1 x
Total: 2,339MB
data.tableの使い方
data.frameのようには要素にアクセスできない例
19
> dt
method V2 platform source V5 V6 year
1: - - - - - - 2009
2: - - - - - - 2009
3: - - - - - - 2009
4: - - - - - - 2009
5: - - - - - - 2009
---
773038: WGS Other unspecified GENOMIC - - 2012
773039: WGS Other unspecified GENOMIC - - 2012
773040: WGS Other unspecified GENOMIC - - 2012
773041: WGS Other unspecified GENOMIC - - 2012
773042: WGS Other unspecified GENOMIC - - 2012
> dt[1,]
method V2 platform source V5 V6 year
1: - - - - - - 2009
> dt[1,3]
[1] 3
> dt[,3]
[1] 3
data.tableの使い方
[ ] の中の扱いが違う
• data.frameでは、行と列の数字を入れる
20
> dt[i, j, ]
expressionをいれる
keyをいれる その他の引数を入れる
data.tableの使い方
i: 行へのアクセス
21
> dt
x v
1: b -1.07907245
2: b 0.92515170
3: b -0.02339863
4: a 2.06498547
5: a -1.03080796
> dt[2,]
x v
1: b 0.9251517
> dt[dt$x=="b",]
x v
1: b -1.07907245
2: b 0.92515170
3: b -0.02339863
> dt["b",]
以下にエラー `[.data.table`(dt, "b", ) :
When i is a data.table (or character vector), x must be keyed (i.e. sorted, and, marked as sorted) so
data.table knows which columns to join to and take advantage of x being sorted. Call setkey(x,...) first, see
?setkey.
data.tableの使い方
i: キーによる行へのアクセス
22
> setkey(dt, x)
> tables()
NAME NROW MB COLS KEY
[1,] dt 5 1 x,v x
[2,] dt_car 50 1 speed,dist
Total: 2MB
> dt["b",]
x v
1: b -1.07907245
2: b 0.92515170
3: b -0.02339863
data.tableの使い方
i: キーによる行へのアクセスは速い
23
> tt=system.time(
+ ans1 <- DF[DF$x=="R" & DF$y=="h",])
> tt
ユーザ システム 経過
15.840 1.042 17.046
> tt=system.time(ans2 <- DT[DT$x=="R" &
DT$y=="h",])
> tt
ユーザ システム 経過
6.756 0.368 7.124
data.frame data.table
> system.time(setkey(DT, x, y))
ユーザ システム 経過
0.688 0.178 0.871
> system.time(ans3 <- DT[J("R","h")])
ユーザ システム 経過
0.006 0.002 0.009
ベクトルを先頭からスキャンする場合
キーを設定し、二分探索を行う場合
キーを設定した方が速い!
data.tableの使い方
j: 集計する(例)
24
> DT[,sum(v)]
[1] 49994142
data.tableの使い方
> DT[,sum(v),by=x]
x V1
1: A 1922034
2: B 1922008
3: C 1923013
4: D 1922349
5: E 1922904
6: F 1923302
7: G 1922370
8: H 1923551
9: I 1922727
10: J 1922573
11: K 1922276
12: L 1922843
13: M 1922837
14: N 1923137
15: O 1922958
16: P 1923937
17: Q 1922784
18: R 1923248
19: S 1922781
20: T 1922965
21: U 1924161
22: V 1922554
23: W 1923009
24: X 1922651
25: Y 1922543
26: Z 1922629
x V1
byで列名を指定すると
指定した変数の値により
行をグループ分けした上で
sum(v)を行う
sum(v)を行う
jの位置では、
列名は引用符で囲まない
> system.time(tt <- tapply(DT$v,DT$x,sum))
ユーザ システム 経過
35.287 14.561 56.807
> system.time(ss <- DT[,sum(v),by=x])
ユーザ システム 経過
1.704 0.441 2.395
tapplyより速い!
j: expressionを入れる
25
> dt_car[, plot(speed, dist)]
NULL
> dt_car[, dist/speed]
[1] 0.5000000 2.5000000 0.5714286 3.1428571 2.0000000 1.1111111 1.8000000 2.6000000 3.4000000
1.5454545
[11] 2.5454545 1.1666667 1.6666667 2.0000000 2.3333333 2.0000000 2.6153846 2.6153846 3.5384615
1.8571429
[21] 2.5714286 4.2857143 5.7142857 1.3333333 1.7333333 3.6000000 2.0000000 2.5000000 1.8823529
2.3529412
[31] 2.9411765 2.3333333 3.1111111 4.2222222 4.6666667 1.8947368 2.4210526 3.5789474 1.6000000
2.4000000
[41] 2.6000000 2.8000000 3.2000000 3.0000000 2.3478261 2.9166667 3.8333333 3.8750000 5.0000000
3.4000000
変数同士の計算ができたり
別の関数を実行したり
data.tableの使い方
data.frameとdata.table
26
data.tableの使い方
タスク data.table data.frame
表の作成 data.table data.frame
表の読み込み fread read.table
行の名前の設定 setkey rowname
列の名前の設定 setnames colnames
複数の表の結合
rbindlist
cbind
rbind
cbind
列の追加 :=
cbind
data.frame
名前・発想が違うものについて
メモリ消費量はほぼ同じ
27
> dim(DF)
[1] 100000004 3
> object.size(DF)
2400003488 bytes
> dim(DT)
[1] 100000004 3
> object.size(DT)
2400004008 bytes
data.frame data.table
> system.time(setkey(DT, x, y))
ユーザ システム 経過
0.817 0.228 1.049
> object.size(DT)
2400004272 bytes
10億行×3列の表の場合
2つの列(変数)をキーに設定した後
速いのに、メモリ消費量はほぼ同じ!
キーを設定した後でも、メモリ消費量はほぼ同じ!
実用例
34
応用例
> dt <- fread("sra.list", sep=“t")
> setnames(dt, "V3", "platform")
> setnames(dt, "V7", "year")
> setnames(dt, "V1", "method")
> setnames(dt, "V4", "source")
> setkey(dt, source)
> dat <- dt["GENOMIC", nrow(.SD), by=list(platform, source, year)]
> dat <- dat[!grep("-|unsp", platform),]
> library(ggplot2)
> g <- ggplot(data.table(dat), aes(x=year, y=V1)) +
+ geom_bar(stat = "identity") +
+ facet_wrap(~ platform) +
+ xlim(2008,2013)
> print(g)
SRAで、sourceがゲノム配列であるデータが
よく読まれているplatformは?
実用例
35
応用例
> library(ggplot2)
> g <- ggplot(data.table(dat), aes(x=year, y=V1)) +
+ geom_bar(stat = "identity") +
+ facet_wrap(~ platform) +
+ xlim(2008,2013)
> print(g)
まとめ
• 巨大な表はdata.tableで扱いましょう
36
参考文献
• CRANのdata.tableパッケージのページ
• http://cran.r-project.org/web/packages/data.table/index.html
• 英語で詳しく書いてある
• R言語上級ハンドブック
• 日本語で詳しく書いてある
37

More Related Content

What's hot

ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)yutannihilation
 
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?jundoll
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法nishio
 
ランダムフォレスト
ランダムフォレストランダムフォレスト
ランダムフォレストKinki University
 
ZDD基礎
ZDD基礎ZDD基礎
ZDD基礎reew2n
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)Hideo Hirose
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法Takuya Akiba
 
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリングベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング宏喜 佐野
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれHiroshi Shimizu
 
ggplot2用例集 入門編
ggplot2用例集 入門編ggplot2用例集 入門編
ggplot2用例集 入門編nocchi_airport
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
ggplot2をつかってみよう
ggplot2をつかってみようggplot2をつかってみよう
ggplot2をつかってみようHiroki Itô
 
data.tableパッケージで大規模データをサクッと処理する
data.tableパッケージで大規模データをサクッと処理するdata.tableパッケージで大規模データをサクッと処理する
data.tableパッケージで大規模データをサクッと処理するShintaro Fukushima
 
Rパッケージ recipes の紹介 「うまい飯を作る」
Rパッケージ recipes の紹介 「うまい飯を作る」Rパッケージ recipes の紹介 「うまい飯を作る」
Rパッケージ recipes の紹介 「うまい飯を作る」Yutaka Kuroki
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようShinsuke Sugaya
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布についてHiroshi Shimizu
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章nocchi_airport
 

What's hot (20)

ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)
 
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
 
ランダムフォレスト
ランダムフォレストランダムフォレスト
ランダムフォレスト
 
PandasとSQLとの比較
PandasとSQLとの比較PandasとSQLとの比較
PandasとSQLとの比較
 
ZDD基礎
ZDD基礎ZDD基礎
ZDD基礎
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
 
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリングベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
 
ggplot2用例集 入門編
ggplot2用例集 入門編ggplot2用例集 入門編
ggplot2用例集 入門編
 
Rを用いたGIS
Rを用いたGISRを用いたGIS
Rを用いたGIS
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
ggplot2をつかってみよう
ggplot2をつかってみようggplot2をつかってみよう
ggplot2をつかってみよう
 
data.tableパッケージで大規模データをサクッと処理する
data.tableパッケージで大規模データをサクッと処理するdata.tableパッケージで大規模データをサクッと処理する
data.tableパッケージで大規模データをサクッと処理する
 
Rパッケージ recipes の紹介 「うまい飯を作る」
Rパッケージ recipes の紹介 「うまい飯を作る」Rパッケージ recipes の紹介 「うまい飯を作る」
Rパッケージ recipes の紹介 「うまい飯を作る」
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布について
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
 

Viewers also liked

ICDE2014 Session 14 Data Warehousing
ICDE2014 Session 14 Data WarehousingICDE2014 Session 14 Data Warehousing
ICDE2014 Session 14 Data WarehousingTakuma Wakamori
 
ICDE2015 Research 3: Distributed Storage and Processing
ICDE2015 Research 3: Distributed Storage and ProcessingICDE2015 Research 3: Distributed Storage and Processing
ICDE2015 Research 3: Distributed Storage and ProcessingTakuma Wakamori
 
VLDB2013 Session 1 Emerging Hardware
VLDB2013 Session 1 Emerging HardwareVLDB2013 Session 1 Emerging Hardware
VLDB2013 Session 1 Emerging HardwareTakuma Wakamori
 
「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜
「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜
「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜Keiichiro Ono
 
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.RMrUnadon
 
Rデータフレーム自由自在
Rデータフレーム自由自在Rデータフレーム自由自在
Rデータフレーム自由自在Takeshi Arabiki
 
RではじめるTwitter解析
RではじめるTwitter解析RではじめるTwitter解析
RではじめるTwitter解析Takeshi Arabiki
 

Viewers also liked (7)

ICDE2014 Session 14 Data Warehousing
ICDE2014 Session 14 Data WarehousingICDE2014 Session 14 Data Warehousing
ICDE2014 Session 14 Data Warehousing
 
ICDE2015 Research 3: Distributed Storage and Processing
ICDE2015 Research 3: Distributed Storage and ProcessingICDE2015 Research 3: Distributed Storage and Processing
ICDE2015 Research 3: Distributed Storage and Processing
 
VLDB2013 Session 1 Emerging Hardware
VLDB2013 Session 1 Emerging HardwareVLDB2013 Session 1 Emerging Hardware
VLDB2013 Session 1 Emerging Hardware
 
「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜
「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜
「数字を見せろ」から「コードを見せろ」へ 〜過程の透明性を確保したデータ可視化を目指す〜
 
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
 
Rデータフレーム自由自在
Rデータフレーム自由自在Rデータフレーム自由自在
Rデータフレーム自由自在
 
RではじめるTwitter解析
RではじめるTwitter解析RではじめるTwitter解析
RではじめるTwitter解析
 

Similar to 巨大な表を高速に扱うData.table について

K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201t2tarumi
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介Satoshi Hirata
 
サーバ異常検知入門
サーバ異常検知入門サーバ異常検知入門
サーバ異常検知入門mangantempy
 
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Kazuya Wada
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用Nobuaki Oshiro
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11MapR Technologies Japan
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方Fujishiro Takuya
 
データベースシステム論13 - データベースの運用
データベースシステム論13 - データベースの運用データベースシステム論13 - データベースの運用
データベースシステム論13 - データベースの運用Shohei Yokoyama
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...Toru Tamaki
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回龍一 田中
 
BigQuery勉強会 Standard SQL Dialect
BigQuery勉強会 Standard SQL DialectBigQuery勉強会 Standard SQL Dialect
BigQuery勉強会 Standard SQL DialectKen Morishita
 
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
1000人規模で使う分析基盤構築  〜redshiftを活用したeuc1000人規模で使う分析基盤構築  〜redshiftを活用したeuc
1000人規模で使う分析基盤構築 〜redshiftを活用したeucKazuhiro Miyajima
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRShuyo Nakatani
 
トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方Takahiro Inoue
 
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料kasaharatt
 
20100930 sig startups
20100930 sig startups20100930 sig startups
20100930 sig startupsIchiro Fukuda
 

Similar to 巨大な表を高速に扱うData.table について (20)

K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
 
サーバ異常検知入門
サーバ異常検知入門サーバ異常検知入門
サーバ異常検知入門
 
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
 
データベースシステム論13 - データベースの運用
データベースシステム論13 - データベースの運用データベースシステム論13 - データベースの運用
データベースシステム論13 - データベースの運用
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回
 
BigQuery勉強会 Standard SQL Dialect
BigQuery勉強会 Standard SQL DialectBigQuery勉強会 Standard SQL Dialect
BigQuery勉強会 Standard SQL Dialect
 
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
1000人規模で使う分析基盤構築  〜redshiftを活用したeuc1000人規模で使う分析基盤構築  〜redshiftを活用したeuc
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方
 
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
 
20100930 sig startups
20100930 sig startups20100930 sig startups
20100930 sig startups
 

More from Haruka Ozaki

160817 ISMB2016読み会
160817 ISMB2016読み会160817 ISMB2016読み会
160817 ISMB2016読み会Haruka Ozaki
 
Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)
Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)
Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)Haruka Ozaki
 
トピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet Allocationトピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet AllocationHaruka Ozaki
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
ISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomes
ISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomesISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomes
ISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomesHaruka Ozaki
 
Excelによる遺伝子名の誤変換 -傾向と対策-
Excelによる遺伝子名の誤変換 -傾向と対策-Excelによる遺伝子名の誤変換 -傾向と対策-
Excelによる遺伝子名の誤変換 -傾向と対策-Haruka Ozaki
 
Kashiwa.R#9 Rでゲノム解析
Kashiwa.R#9 Rでゲノム解析Kashiwa.R#9 Rでゲノム解析
Kashiwa.R#9 Rでゲノム解析Haruka Ozaki
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと Haruka Ozaki
 
Rで塩基配列を扱う方法
Rで塩基配列を扱う方法Rで塩基配列を扱う方法
Rで塩基配列を扱う方法Haruka Ozaki
 
FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)Haruka Ozaki
 
距離まとめられませんでした
距離まとめられませんでした距離まとめられませんでした
距離まとめられませんでしたHaruka Ozaki
 

More from Haruka Ozaki (11)

160817 ISMB2016読み会
160817 ISMB2016読み会160817 ISMB2016読み会
160817 ISMB2016読み会
 
Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)
Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)
Rでゲノム上の区間データを扱う話 (15.09.05 WACODE 2nd)
 
トピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet Allocationトピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet Allocation
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
ISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomes
ISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomesISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomes
ISMB2014読み会 Ragout—a reference-assisted assembly tool for bacterial genomes
 
Excelによる遺伝子名の誤変換 -傾向と対策-
Excelによる遺伝子名の誤変換 -傾向と対策-Excelによる遺伝子名の誤変換 -傾向と対策-
Excelによる遺伝子名の誤変換 -傾向と対策-
 
Kashiwa.R#9 Rでゲノム解析
Kashiwa.R#9 Rでゲノム解析Kashiwa.R#9 Rでゲノム解析
Kashiwa.R#9 Rでゲノム解析
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
 
Rで塩基配列を扱う方法
Rで塩基配列を扱う方法Rで塩基配列を扱う方法
Rで塩基配列を扱う方法
 
FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)
 
距離まとめられませんでした
距離まとめられませんでした距離まとめられませんでした
距離まとめられませんでした
 

巨大な表を高速に扱うData.table について