rabbit-slide-kou-scipy-japan-2019 2019.4.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.rd +51 -0
- data/Rakefile +17 -0
- data/apache-arrow.rab +461 -0
- data/config.yaml +23 -0
- data/images/apache-arrow-and-me.svg +110 -0
- data/images/commits-0.11.0-0.12.0.png +0 -0
- data/images/commits-0.12.0-0.13.0.png +0 -0
- data/images/contributors.png +0 -0
- data/images/serialize-list.png +0 -0
- data/images/simd-null.svg +291 -0
- data/pdf/scipy-japan-2019-apache-arrow.pdf +0 -0
- data/plot-0.png +0 -0
- data/plot-1.png +0 -0
- data/plot-2.png +0 -0
- data/plot-3.png +0 -0
- data/theme.rb +1 -0
- metadata +93 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a166529124b217ade85d51819b8afe822bebfd541211577f11be6d4df56cc0e5
|
4
|
+
data.tar.gz: d7464a7435c8c89b46b6f2dcc8ae8b49d8d8009633c0ec7f4f37ab5967ebe8f6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f5b69f9dc120e6b1b9cd78554b76581d6fb715fb46005e247f3a30dc98f09665870cc7e4f6dbb6c3690d7d5c4c0a5ed48b620e1677d0ce071a47779a2fae6784
|
7
|
+
data.tar.gz: b32d34aca3f972913ae60f0c8af78b07165a39ca0cbd1cecebd0daaf1a5186820f0722ab5f1b824b96f25e037a41684501bfc6dbffd8c17c32e69e564f317c21
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--size=800,450 apache-arrow.rab
|
data/README.rd
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
= Apache Arrow - A cross-language development platform for in-memory data
|
2
|
+
|
3
|
+
Apache Arrow is the future for data processing systems. This talk
|
4
|
+
describes how to solve data sharing overhead in data processing system
|
5
|
+
such as Spark and PySpark. This talk also describes how to accelerate
|
6
|
+
computation against your large data by Apache Arrow.
|
7
|
+
|
8
|
+
== License
|
9
|
+
|
10
|
+
=== Slide
|
11
|
+
|
12
|
+
CC BY-SA 4.0
|
13
|
+
|
14
|
+
Use the followings for notation of the author:
|
15
|
+
|
16
|
+
* Kouhei Sutou
|
17
|
+
|
18
|
+
==== ClearCode Inc. logo
|
19
|
+
|
20
|
+
CC BY-SA 4.0
|
21
|
+
|
22
|
+
Author: ClearCode Inc.
|
23
|
+
|
24
|
+
It is used in page header and some pages in the slide.
|
25
|
+
|
26
|
+
==== Performance figure
|
27
|
+
|
28
|
+
Apache License 2.0
|
29
|
+
|
30
|
+
Author: The Apache Software Foundation
|
31
|
+
|
32
|
+
== For author
|
33
|
+
|
34
|
+
=== Show
|
35
|
+
|
36
|
+
rake
|
37
|
+
|
38
|
+
=== Publish
|
39
|
+
|
40
|
+
rake publish
|
41
|
+
|
42
|
+
== For viewers
|
43
|
+
|
44
|
+
=== Install
|
45
|
+
|
46
|
+
gem install rabbit-slide-kou-scipy-japan-2019
|
47
|
+
|
48
|
+
=== Show
|
49
|
+
|
50
|
+
rabbit rabbit-slide-kou-scipy-japan-2019.gem
|
51
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
spec.add_runtime_dependency("rabbit-theme-clear-code")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
data/apache-arrow.rab
ADDED
@@ -0,0 +1,461 @@
|
|
1
|
+
= Apache Arrow
|
2
|
+
|
3
|
+
: subtitle
|
4
|
+
A cross-language development platform\nfor in-memory data
|
5
|
+
: author
|
6
|
+
Kouhei Sutou
|
7
|
+
: institution
|
8
|
+
ClearCode Inc.
|
9
|
+
: content-source
|
10
|
+
SciPy Japan 2019
|
11
|
+
: date
|
12
|
+
2019-04-23
|
13
|
+
: start-time
|
14
|
+
2019-04-23T14:30:00+09:00
|
15
|
+
: end-time
|
16
|
+
2019-04-23T14:55:00+09:00
|
17
|
+
: theme
|
18
|
+
.
|
19
|
+
|
20
|
+
= Me
|
21
|
+
|
22
|
+
Ruby committer since 2004\n
|
23
|
+
(('note:2004年からRubyコミッター'))
|
24
|
+
|
25
|
+
= Why do I talk at SciPy?\n(('note:なぜSciPyで話しているのか?'))
|
26
|
+
|
27
|
+
To introduce\n
|
28
|
+
((*Apache Arrow*))\n
|
29
|
+
(('note:((*Apache Arrow*))を紹介するため'))
|
30
|
+
|
31
|
+
= Apache Arrow
|
32
|
+
|
33
|
+
# blockquote
|
34
|
+
# title = https://arrow.apache.org/
|
35
|
+
|
36
|
+
A cross-language development platform for in-memory data\n
|
37
|
+
(('note:インメモリーデータ向け多言語対応開発プラットフォーム'))
|
38
|
+
|
39
|
+
= Cross-language\n(('note:多言語対応'))
|
40
|
+
|
41
|
+
* C, C++, C#, Go, Java,
|
42
|
+
* JavaScript, MATLAB, ((*Python*)),
|
43
|
+
* R, ((*Ruby*)) and Rust
|
44
|
+
|
45
|
+
= Development platform\n(('note:開発プラットフォーム'))
|
46
|
+
|
47
|
+
Apache Arrow ...
|
48
|
+
|
49
|
+
* specifies standards and\n
|
50
|
+
(('note:標準化'))
|
51
|
+
* provides implementations\n
|
52
|
+
(('note:実装'))
|
53
|
+
|
54
|
+
to advance cooperation by many people\n
|
55
|
+
(('note:多くの人が協力できるように'))
|
56
|
+
|
57
|
+
= For in-memory data\n(('note:インメモリーデータ'))
|
58
|
+
|
59
|
+
Apache Arrow focuses on ↓ ((*for now*))\n
|
60
|
+
(('note:Apache Arrowは((*今のところ*))は↓に注力'))
|
61
|
+
|
62
|
+
* sharing columnar/tensor data\n
|
63
|
+
(('note:カラムナーデータ・テンソルデータの共有'))
|
64
|
+
* analyzing columnar data\n
|
65
|
+
(('note:カラムナーデータの分析'))
|
66
|
+
* RPC for columnar data\n
|
67
|
+
(('note:カラムナーデータのRPC'))
|
68
|
+
|
69
|
+
= Apache Arrow and Python\n(('note:Apache ArrowとPython'))
|
70
|
+
|
71
|
+
* As pickle replacement\n
|
72
|
+
(('note:pickleの代替'))
|
73
|
+
* PySpark does\n
|
74
|
+
(('note:PySparkはすでにやっている'))
|
75
|
+
* As dataframe library\n
|
76
|
+
(('note:データフレームライブラリー'))
|
77
|
+
* pandas and Vaes use Apache Arrow a bit\n
|
78
|
+
(('note:pandasとVaesはApache Arrowを少し使っている'))
|
79
|
+
|
80
|
+
= Apache Arrow and me\n(('note:Apache Arrowと私'))
|
81
|
+
|
82
|
+
# image
|
83
|
+
# src = images/apache-arrow-and-me.svg
|
84
|
+
# align = right
|
85
|
+
# vertical-align = bottom
|
86
|
+
# relative-width = 65
|
87
|
+
# relative-margin-right = 20
|
88
|
+
# relative-padding-bottom = -15
|
89
|
+
|
90
|
+
* A release manager(('note:(リリースマネージャー)'))
|
91
|
+
* 0.11.0 and 0.13.0 (('note:(the latest release/最新リリース)'))
|
92
|
+
* An active developer(('note:(アクティブな開発者)'))
|
93
|
+
|
94
|
+
(('tag:margin-top * 10'))
|
95
|
+
|
96
|
+
= Feature (1)\n(('note:機能(1)'))
|
97
|
+
|
98
|
+
Effective serialization\n
|
99
|
+
(('note:効率的なシリアライズ'))
|
100
|
+
|
101
|
+
= Why effective?\n(('note:なぜ効率的なのか'))
|
102
|
+
|
103
|
+
* Don't parse data\n
|
104
|
+
(('note:データをパースしないから'))
|
105
|
+
* Use data directly\n
|
106
|
+
(('note:データをそのまま使うから'))
|
107
|
+
|
108
|
+
= Data format: Number\n(('note:データフォーマット:数値'))
|
109
|
+
|
110
|
+
Contiguous data (Same as C array)
|
111
|
+
連続データ(Cの配列と同じ)
|
112
|
+
|
113
|
+
32bit integer: [1, 2, 3]
|
114
|
+
0x01 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x03 ...
|
115
|
+
|
116
|
+
= Compare to JSON\n(('note:JSONと比較'))
|
117
|
+
|
118
|
+
"[1, 2, 3]"
|
119
|
+
↓
|
120
|
+
"1" → 1 (String → Number)
|
121
|
+
"2" → 2 (String → Number)
|
122
|
+
"3" → 3 (String → Number)
|
123
|
+
|
124
|
+
= Merit of direct data use\n(('note:データを直接使うことのメリット'))
|
125
|
+
|
126
|
+
* Zero copy cost\n
|
127
|
+
(('note:コピーコストをなくせる'))
|
128
|
+
* Copy is costly for large data\n
|
129
|
+
(('note:大きなデータではコピーはコストが高い'))
|
130
|
+
* (Nearly) zero parse cost\n
|
131
|
+
(('note:(ほぼ)パースコストをなくせる'))
|
132
|
+
* Only need to parse metadata\n
|
133
|
+
(('note:メタデータをパースするだけでよい'))
|
134
|
+
|
135
|
+
= Performance\n(('note:性能'))
|
136
|
+
|
137
|
+
# image
|
138
|
+
# src = images/serialize-list.png
|
139
|
+
# relative_height = 77
|
140
|
+
|
141
|
+
(('note:((<Fast Python Serialization with Ray and Apache Arrow|URL:https://arrow.apache.org/blog/2017/10/15/fast-python-serialization-with-ray-and-arrow/>))'))
|
142
|
+
|
143
|
+
(('note:Apache License 2.0: (c) 2016-2019 The Apache Software Foundation'))
|
144
|
+
|
145
|
+
= Zero copy and large data\n(('note:ゼロコピーと大きなデータ'))
|
146
|
+
|
147
|
+
* pandas can't process large data\n
|
148
|
+
(('note:pandasは大きなデータを扱えない'))
|
149
|
+
* Because it needs to allocate memory\n
|
150
|
+
(('note:メモリーを確保する必要があるから'))
|
151
|
+
* Apache Arrow supports memory mapping\n
|
152
|
+
(('note:Apache Arrowはメモリーマッピング対応'))
|
153
|
+
* Can use data in file directly without copy\n
|
154
|
+
(('note:ファイル内のデータをコピーせずに使える'))
|
155
|
+
|
156
|
+
= Effective string representation\n(('note:効率的な文字列表現'))
|
157
|
+
|
158
|
+
* pandas: Array of strings\n
|
159
|
+
(('note:pandas:文字列の配列'))
|
160
|
+
* Use discontiguous memory\n
|
161
|
+
(('note:非連続なメモリーを使う'))
|
162
|
+
* Apache Arrow: Data and array of lengths\n
|
163
|
+
(('note:Apache Arrow:データと長さの配列'))
|
164
|
+
* Use contiguous memory: Fast\n
|
165
|
+
(('note:連続したメモリーを使う:速い'))
|
166
|
+
|
167
|
+
= Data format: String\n(('note:データフォーマット:文字列'))
|
168
|
+
|
169
|
+
Data bytes + length array
|
170
|
+
|
171
|
+
UTT-8 string: ["Hello", "", "!"]
|
172
|
+
Data bytes: "Hello!"
|
173
|
+
Length array: [0, 5, 5, 6]
|
174
|
+
i-th length: lengths[i+1] - lengths[i]
|
175
|
+
i-th data: data[lengths[i]:lengths[i+1]]
|
176
|
+
|
177
|
+
= Feature(?) (2)\n(('note:機能(?)(2)'))
|
178
|
+
|
179
|
+
Specify data format\n
|
180
|
+
(('note:データフォーマットを仕様化'))
|
181
|
+
|
182
|
+
= Why do Arrow specify?\n(('note:なぜArrowは仕様化するのか'))
|
183
|
+
|
184
|
+
Effective\n
|
185
|
+
data exchange\n
|
186
|
+
(('note:効率的なデータ交換のため'))
|
187
|
+
|
188
|
+
= Effective data exchange\n(('note:効率的なデータ交換'))
|
189
|
+
|
190
|
+
* Use common format widely\n
|
191
|
+
(('note:みんなが同じフォーマットを使うこと'))
|
192
|
+
* No format conversion reduces resource usage\n
|
193
|
+
(('note:フォーマットを変換しなくてよいならリソース使用量を減らせる'))
|
194
|
+
* Use low {,de}serialize cost format\n
|
195
|
+
(('note:シリアライズコストが低いフォーマットを使うこと'))
|
196
|
+
* Fast
|
197
|
+
|
198
|
+
= Who uses Arrow format?\n(('note:Arrowフォーマットをだれが使っているか'))
|
199
|
+
|
200
|
+
* ((<RAPIDS|URL:https://rapids.ai/>)): For NVIDIA GPU
|
201
|
+
* ((<Fletcher|URL:https://github.com/johanpel/fletcher>)), ((<InAccel|URL:https://docs.inaccel.com/latest/manager/examples/#logistic-regression-with-apache-arrow>)): For FPGA
|
202
|
+
* ((<Spark|URL:https://spark.apache.org/>)): For interprocess data exchange\n
|
203
|
+
(('note:Spark:プロセス間のデータ交換のために'))
|
204
|
+
|
205
|
+
= CPU and GPU
|
206
|
+
|
207
|
+
* Can't share data on memory\n
|
208
|
+
(('note:メモリー上のデータを共有できない'))
|
209
|
+
* Need to copy between CPU and GPU\n
|
210
|
+
(('note:CPUとGPU間でコピーする必要がある'))
|
211
|
+
* Effective data exchange improves performance\n
|
212
|
+
(('note:データ交換を効率化することで高速化'))
|
213
|
+
|
214
|
+
= CPU and FPGA
|
215
|
+
|
216
|
+
* Can't share data on memory\n
|
217
|
+
(('note:メモリー上のデータを共有できない'))
|
218
|
+
* Need to copy between CPU and FPGA\n
|
219
|
+
(('note:CPUとFPGA間でコピーする必要がある'))
|
220
|
+
* Effective data exchange improves performance\n
|
221
|
+
(('note:データ交換を効率化することで高速化'))
|
222
|
+
|
223
|
+
= Spark
|
224
|
+
|
225
|
+
* Process large data\n
|
226
|
+
(('note:大きなデータを処理'))
|
227
|
+
* Need to pass data to worker processes\n
|
228
|
+
(('note:ワーカープロセスにデータを渡す必要がある'))
|
229
|
+
* Effective data exchange improves performance\n
|
230
|
+
(('note:データ交換を効率化することで高速化'))
|
231
|
+
|
232
|
+
= PySpark
|
233
|
+
|
234
|
+
* Worker by Python\n
|
235
|
+
(('note:ワーカーはPython'))
|
236
|
+
* Use pikcle to exchange data\n
|
237
|
+
(('note:データ交換にpickleを使用'))
|
238
|
+
* Spark supports Arrow for data exchange\n
|
239
|
+
(('note:Arrowを使ったデータ交換をサポート'))
|
240
|
+
* Disabled by default\n
|
241
|
+
(('note:デフォルトでは無効'))
|
242
|
+
|
243
|
+
= PySpark with Arrow
|
244
|
+
|
245
|
+
In [2]: %time pdf = df.toPandas()
|
246
|
+
CPU times: user 17.4 s, sys: 792 ms, total: 18.1 s
|
247
|
+
Wall time: 20.7 s
|
248
|
+
|
249
|
+
In [3]: spark.conf.set("spark.sql.execution.arrow.enabled", "true")
|
250
|
+
|
251
|
+
In [4]: %time pdf = df.toPandas()
|
252
|
+
CPU times: user 40 ms, sys: 32 ms, total: 72 ms
|
253
|
+
Wall time: 737 ms
|
254
|
+
|
255
|
+
(('note:((< Speeding up PySpark with Apache Arrow|URL:https://arrow.apache.org/blog/2017/07/26/spark-arrow/>))'))
|
256
|
+
|
257
|
+
= Feature (3)\n(('note:機能(3)'))
|
258
|
+
|
259
|
+
Optimized\n
|
260
|
+
data processing\n
|
261
|
+
modules\n
|
262
|
+
(('note:最適化されたデータ処理モジュール'))
|
263
|
+
|
264
|
+
= Optimized data processing\n(('note:最適化されたデータ処理モジュール'))
|
265
|
+
|
266
|
+
* Apache Arrow targets large data\n
|
267
|
+
(('note:Apache Arrowは大きなデータを対象にしている'))
|
268
|
+
* Performance is important\n
|
269
|
+
(('note:性能は重要'))
|
270
|
+
* How to get high performance...?\n
|
271
|
+
(('note:どうすれば速くできる。。。?'))
|
272
|
+
|
273
|
+
= High performance (1)\n(('note:高速化(1)'))
|
274
|
+
|
275
|
+
Data locality\n
|
276
|
+
(('note:データを局所化'))
|
277
|
+
|
278
|
+
= Data locality\n(('note:データを局所化'))
|
279
|
+
|
280
|
+
* Minimize cache misses\n
|
281
|
+
(('note:キャッシュミスを減らす'))
|
282
|
+
* Storage is very slow\n
|
283
|
+
(('note:ストレージはすごく遅い'))
|
284
|
+
* Memory is slow\n
|
285
|
+
(('note:メモリーは遅い'))
|
286
|
+
* CPU cache is fast\n
|
287
|
+
(('note:CPUキャッシュは速い'))
|
288
|
+
|
289
|
+
= High performance (2)\n(('note:高速化(2)'))
|
290
|
+
|
291
|
+
SIMD\n
|
292
|
+
(('note:Single Instruction Multi Data'))\n
|
293
|
+
(('note:一気に複数のデータを処理する方法'))
|
294
|
+
|
295
|
+
= SIMD
|
296
|
+
|
297
|
+
* Data must be contiguous and aligned\n
|
298
|
+
(('note:データは連続していてアラインされていないといけない'))
|
299
|
+
* Arrow format is SIMD ready\n
|
300
|
+
(('note:ArrowフォーマットはSIMDを使える'))
|
301
|
+
* No condition branch\n
|
302
|
+
(('note:条件分岐がないこと'))
|
303
|
+
* Use bitmap instead of "missing" for null\n
|
304
|
+
(('note:nullを表現するために「欠損値」ではなく別途ビットマップを使う'))\n
|
305
|
+
(('note:((<"Is it time to stop using sentinel values for null / NA values?"|URL:http://wesmckinney.com/blog/bitmaps-vs-sentinel-values/>))'))
|
306
|
+
|
307
|
+
= No condition branch\n(('note:条件分岐なし'))
|
308
|
+
|
309
|
+
# img
|
310
|
+
# src = images/simd-null.svg
|
311
|
+
# relative_height = 100
|
312
|
+
|
313
|
+
== Slide property
|
314
|
+
|
315
|
+
: enable-title-on-image
|
316
|
+
false
|
317
|
+
|
318
|
+
= FYI: null\n(('note:参考情報:null'))
|
319
|
+
|
320
|
+
* All data types support null in Arrow\n
|
321
|
+
(('note:Arrowはすべての型でnullをサポート'))
|
322
|
+
* Some types only support null in NumPy\n
|
323
|
+
(('note:NumPyは一部の型でnullをサポート'))\n
|
324
|
+
(('note:((<欠損値の制約 - PythonとApache Arrow|URL:https://speakerdeck.com/sinhrks/pythontoapache-arrow-eaf72479-ce30-4161-8c73-15b555cc56c7?slide=11>))'))
|
325
|
+
|
326
|
+
= High performance (3)\n(('note:高速化(3)'))
|
327
|
+
|
328
|
+
Thread
|
329
|
+
|
330
|
+
= Thread
|
331
|
+
|
332
|
+
* Use multi-cores in single process\n
|
333
|
+
(('note:シングルプロセスで複数コアを使う'))
|
334
|
+
* Minimize resource conflict\n
|
335
|
+
(('note:リソースの競合をなくすこと'))
|
336
|
+
* Locking to avoid conflict reduces performance\n
|
337
|
+
(('note:競合を避けるためにロックすると性能劣化'))
|
338
|
+
* Approaches(('note:(アプローチ)'))
|
339
|
+
* Read only or copy (shared nothing)\n
|
340
|
+
(('note:リードオンリーにするかコピー(なにも共有しない)'))
|
341
|
+
|
342
|
+
= Apache Arrow and thread\n(('note:Apache Arrowとスレッド'))
|
343
|
+
|
344
|
+
* Data is read only\n
|
345
|
+
(('note:データはリードオンリー'))
|
346
|
+
* Share data in threads without lock overhead\n
|
347
|
+
(('note:ロックのオーバーヘッドなしでスレッド間でデータを共有'))
|
348
|
+
* Avoid both locking and copying\n
|
349
|
+
(('note:ロックもコピーも避ける'))
|
350
|
+
* They reduce performance\n
|
351
|
+
(('note:どちらも性能劣化するから'))
|
352
|
+
|
353
|
+
= High performance (4)\n(('note:高速化(4)'))
|
354
|
+
|
355
|
+
Compute kernels\n
|
356
|
+
(('note:計算カーネル'))
|
357
|
+
|
358
|
+
= Compute kernels\n(('note:計算カーネル'))
|
359
|
+
|
360
|
+
* SIMD ready primitive operations\n
|
361
|
+
(('note:SIMDを使ったプリミティブな演算'))
|
362
|
+
* Projection, Filter, Aggregation, ...\n
|
363
|
+
(('note:射影とかフィルターとか集計とかとか'))
|
364
|
+
* compare, take, mean, ...\n
|
365
|
+
(('note:比較とか行選択とか平均とか'))
|
366
|
+
|
367
|
+
= High performance (5)\n(('note:高速化(5)'))
|
368
|
+
|
369
|
+
Subgraph compiler\n
|
370
|
+
(('note:サブグラフコンパイラー'))
|
371
|
+
|
372
|
+
= Subgraph compiler: Gandiva\n(('note:サブグラフコンパイラー:Gandiva'))
|
373
|
+
|
374
|
+
* Compile operator graphs at run-time\n
|
375
|
+
(('note:実行時に演算グラフをコンパイル'))
|
376
|
+
* Operator graph: combined multiple operations\n
|
377
|
+
(('note:演算グラフ:演算のまとまり'))
|
378
|
+
* (({table.a + table.b < table.c && ...}))
|
379
|
+
* Usable for query engine backend\n
|
380
|
+
(('note:クエリーエンジンのバックエンドとして使える'))
|
381
|
+
|
382
|
+
= High performance (6)\n(('note:高速化(6)'))
|
383
|
+
|
384
|
+
Query engine\n
|
385
|
+
(('note:クエリーエンジン'))
|
386
|
+
|
387
|
+
= Query engine\n(('note:クエリーエンジン'))
|
388
|
+
|
389
|
+
* For single node\n
|
390
|
+
(('note:シングルノード向け'))
|
391
|
+
* Dataflow-style operator execution\n
|
392
|
+
(('note:データが流れるように演算を実行'))
|
393
|
+
* scan → project → filter → aggregate → ...\n
|
394
|
+
(('note:データ取得→射影→フィルター→集計→…'))
|
395
|
+
|
396
|
+
(('note:((<Apache Arrow Query Engine for C++|URL:https://docs.google.com/document/d/10RoUZmiMQRi_J1FcPeVAUAMJ6d_ZuiEbaM2Y33sNPu4/edit#>))'))
|
397
|
+
|
398
|
+
= Query engine from Python\n(('note:Pythonからクエリーエンジンを使う'))
|
399
|
+
|
400
|
+
* With pandas(('note:(pandasと使う)'))
|
401
|
+
* Large data → execute → (({to_pandas()}))\n
|
402
|
+
(('note:大きなデータ→実行→(({to_pandas()}))'))
|
403
|
+
* With Dask(('note:(Daskと使う)'))
|
404
|
+
* Dask will be able to use this as backend\n
|
405
|
+
(('note:Daskのバックエンドで使えるかも?'))
|
406
|
+
|
407
|
+
= High performance (7)\n(('note:高速化(7)'))
|
408
|
+
|
409
|
+
Datasets\n
|
410
|
+
(('note:データセット'))
|
411
|
+
|
412
|
+
= Datasets\n(('note:データセット'))
|
413
|
+
|
414
|
+
* Scan data from storage/database\n
|
415
|
+
(('note:ストレージ・データベースからデータ取得'))
|
416
|
+
* File systems: local, HDFS, ...
|
417
|
+
* Formats: CSV, Parquet, ...
|
418
|
+
* Databases: MySQL, PostgreSQL, ...
|
419
|
+
|
420
|
+
(('note:((<Apache Arrow C++ Datasets|URL:https://docs.google.com/document/d/1bVhzifD38qDypnSjtf8exvpP3sSB5x_Kw9m-n66FB2c/edit#heading=h.22aikbvt54fv>))'))
|
421
|
+
|
422
|
+
= Fast datasets\n(('note:高速なデータセット'))
|
423
|
+
|
424
|
+
* Predicate pushdown\n
|
425
|
+
(('note:条件のプッシュダウン'))
|
426
|
+
* Scan only needed data\n
|
427
|
+
(('note:必要なデータのみ取得'))
|
428
|
+
* Parallel scan\n
|
429
|
+
(('note:並列取得'))
|
430
|
+
|
431
|
+
= Feature (4)\n(('note:機能(4)'))
|
432
|
+
|
433
|
+
RPC
|
434
|
+
|
435
|
+
= RPC: Arrow Flight
|
436
|
+
|
437
|
+
* Fast RPC framework for Arrow\n
|
438
|
+
(('note:Arrow用の高速なRPC'))
|
439
|
+
* Based on gRPC with low-level extensions\n
|
440
|
+
(('note:gRPCベースでいくつか低レベルの拡張をしている'))
|
441
|
+
|
442
|
+
(('note:((<Apache 0.11.0 Release|URL:https://arrow.apache.org/blog/2018/10/09/0.11.0-release/>))'))
|
443
|
+
|
444
|
+
= Wrap up\n(('note:まとめ'))
|
445
|
+
|
446
|
+
* Arrow is useful for SciPy community\n
|
447
|
+
(('note:SciPyコミュニティーにArrowは有用'))
|
448
|
+
* in not only Python but also other languages\n
|
449
|
+
(('note:Pythonだけでなく他の言語でも有用'))
|
450
|
+
* Join Apache Arrow development!\n
|
451
|
+
(('note:Apache Arrowの開発に参加しよう!'))
|
452
|
+
* Ask me how to start\n
|
453
|
+
(('note:なにから始めればよいかは私に相談してね'))
|
454
|
+
|
455
|
+
= Next step\n(('note:次の一歩'))
|
456
|
+
|
457
|
+
* ((<Mailing list|URL:https://lists.apache.org/list.html?dev@arrow.apache.org>)): dev@arrow.apache.org
|
458
|
+
* Chat in Japanese:
|
459
|
+
* ((<URL:https://gitter.im/apache-arrow-ja/community>))
|
460
|
+
* Apache Arrow Tokyo Meetup 2019 (('note:this summer?'))
|
461
|
+
* See also: ((<Apache Arrow Tokyo Meetup 2018|URL:https://speee.connpass.com/event/103514>))
|
data/config.yaml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
id: scipy-japan-2019
|
3
|
+
base_name: apache-arrow
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- apachearrow
|
7
|
+
- scipyjapan
|
8
|
+
presentation_date: 2019-04-23
|
9
|
+
version: 2019.4.23.0
|
10
|
+
licenses:
|
11
|
+
- CC-BY-SA-4.0
|
12
|
+
slideshare_id:
|
13
|
+
speaker_deck_id:
|
14
|
+
ustream_id:
|
15
|
+
vimeo_id:
|
16
|
+
youtube_id:
|
17
|
+
author:
|
18
|
+
markup_language: :rd
|
19
|
+
name: Kouhei Sutou
|
20
|
+
email: kou@clear-code.com
|
21
|
+
rubygems_user: kou
|
22
|
+
slideshare_user: kou
|
23
|
+
speaker_deck_user:
|
@@ -0,0 +1,110 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
10
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
11
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
+
width="75.882507mm"
|
14
|
+
height="26.80608mm"
|
15
|
+
viewBox="0 0 75.882507 26.80608"
|
16
|
+
version="1.1"
|
17
|
+
id="svg8"
|
18
|
+
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
19
|
+
sodipodi:docname="apache-arrow-and-me.svg">
|
20
|
+
<defs
|
21
|
+
id="defs2" />
|
22
|
+
<sodipodi:namedview
|
23
|
+
id="base"
|
24
|
+
pagecolor="#ffffff"
|
25
|
+
bordercolor="#666666"
|
26
|
+
borderopacity="1.0"
|
27
|
+
inkscape:pageopacity="0.0"
|
28
|
+
inkscape:pageshadow="2"
|
29
|
+
inkscape:zoom="2.8"
|
30
|
+
inkscape:cx="156.89553"
|
31
|
+
inkscape:cy="66.78917"
|
32
|
+
inkscape:document-units="mm"
|
33
|
+
inkscape:current-layer="layer1"
|
34
|
+
showgrid="false"
|
35
|
+
fit-margin-top="0"
|
36
|
+
fit-margin-left="0"
|
37
|
+
fit-margin-right="0"
|
38
|
+
fit-margin-bottom="0"
|
39
|
+
inkscape:window-width="1920"
|
40
|
+
inkscape:window-height="1016"
|
41
|
+
inkscape:window-x="1920"
|
42
|
+
inkscape:window-y="27"
|
43
|
+
inkscape:window-maximized="1" />
|
44
|
+
<metadata
|
45
|
+
id="metadata5">
|
46
|
+
<rdf:RDF>
|
47
|
+
<cc:Work
|
48
|
+
rdf:about="">
|
49
|
+
<dc:format>image/svg+xml</dc:format>
|
50
|
+
<dc:type
|
51
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
52
|
+
<dc:title></dc:title>
|
53
|
+
</cc:Work>
|
54
|
+
</rdf:RDF>
|
55
|
+
</metadata>
|
56
|
+
<g
|
57
|
+
inkscape:label="レイヤー 1"
|
58
|
+
inkscape:groupmode="layer"
|
59
|
+
id="layer1"
|
60
|
+
transform="translate(-192.56903,-203.17799)">
|
61
|
+
<image
|
62
|
+
sodipodi:absref="contributors.png"
|
63
|
+
xlink:href="contributors.png"
|
64
|
+
width="63.330666"
|
65
|
+
height="23.791332"
|
66
|
+
preserveAspectRatio="none"
|
67
|
+
id="image913"
|
68
|
+
x="192.56903"
|
69
|
+
y="203.17799" />
|
70
|
+
<image
|
71
|
+
sodipodi:absref="commits-0.11.0-0.12.0.png"
|
72
|
+
xlink:href="commits-0.11.0-0.12.0.png"
|
73
|
+
width="61.298664"
|
74
|
+
height="10.752666"
|
75
|
+
preserveAspectRatio="none"
|
76
|
+
id="image959"
|
77
|
+
x="198.97121"
|
78
|
+
y="210.83127" />
|
79
|
+
<image
|
80
|
+
sodipodi:absref="commits-0.12.0-0.13.0.png"
|
81
|
+
xlink:href="commits-0.12.0-0.13.0.png"
|
82
|
+
width="61.976002"
|
83
|
+
height="10.922"
|
84
|
+
preserveAspectRatio="none"
|
85
|
+
id="image1021"
|
86
|
+
x="206.47554"
|
87
|
+
y="219.06207" />
|
88
|
+
<rect
|
89
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
90
|
+
id="rect1024"
|
91
|
+
width="30.521566"
|
92
|
+
height="5.2916636"
|
93
|
+
x="224.88599"
|
94
|
+
y="203.71472" />
|
95
|
+
<rect
|
96
|
+
y="214.10905"
|
97
|
+
x="202.86887"
|
98
|
+
height="2.4568474"
|
99
|
+
width="18.04834"
|
100
|
+
id="rect1026"
|
101
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
102
|
+
<rect
|
103
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
104
|
+
id="rect1028"
|
105
|
+
width="18.04834"
|
106
|
+
height="2.4568474"
|
107
|
+
x="210.42839"
|
108
|
+
y="224.78688" />
|
109
|
+
</g>
|
110
|
+
</svg>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,291 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
10
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
+
width="182.15048mm"
|
13
|
+
height="125.74078mm"
|
14
|
+
viewBox="0 0 182.15048 125.74078"
|
15
|
+
version="1.1"
|
16
|
+
id="svg8"
|
17
|
+
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
18
|
+
sodipodi:docname="simd-null.svg">
|
19
|
+
<defs
|
20
|
+
id="defs2" />
|
21
|
+
<sodipodi:namedview
|
22
|
+
id="base"
|
23
|
+
pagecolor="#ffffff"
|
24
|
+
bordercolor="#666666"
|
25
|
+
borderopacity="1.0"
|
26
|
+
inkscape:pageopacity="0.0"
|
27
|
+
inkscape:pageshadow="2"
|
28
|
+
inkscape:zoom="0.98994949"
|
29
|
+
inkscape:cx="253.28842"
|
30
|
+
inkscape:cy="332.35173"
|
31
|
+
inkscape:document-units="mm"
|
32
|
+
inkscape:current-layer="layer1"
|
33
|
+
showgrid="false"
|
34
|
+
fit-margin-top="5"
|
35
|
+
fit-margin-left="5"
|
36
|
+
fit-margin-bottom="5"
|
37
|
+
fit-margin-right="5"
|
38
|
+
inkscape:window-width="1920"
|
39
|
+
inkscape:window-height="1016"
|
40
|
+
inkscape:window-x="0"
|
41
|
+
inkscape:window-y="27"
|
42
|
+
inkscape:window-maximized="1" />
|
43
|
+
<metadata
|
44
|
+
id="metadata5">
|
45
|
+
<rdf:RDF>
|
46
|
+
<cc:Work
|
47
|
+
rdf:about="">
|
48
|
+
<dc:format>image/svg+xml</dc:format>
|
49
|
+
<dc:type
|
50
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
51
|
+
<dc:title />
|
52
|
+
</cc:Work>
|
53
|
+
</rdf:RDF>
|
54
|
+
</metadata>
|
55
|
+
<g
|
56
|
+
inkscape:label="レイヤー 1"
|
57
|
+
inkscape:groupmode="layer"
|
58
|
+
id="layer1"
|
59
|
+
transform="translate(18.78782,-3.4599898)">
|
60
|
+
<rect
|
61
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
62
|
+
id="rect815"
|
63
|
+
width="41.015972"
|
64
|
+
height="33.886806"
|
65
|
+
x="13.229166"
|
66
|
+
y="21.455357" />
|
67
|
+
<text
|
68
|
+
xml:space="preserve"
|
69
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
70
|
+
x="-3.3676131"
|
71
|
+
y="34.808594"
|
72
|
+
id="text827"><tspan
|
73
|
+
sodipodi:role="line"
|
74
|
+
id="tspan825"
|
75
|
+
x="-3.3676131"
|
76
|
+
y="34.808594"
|
77
|
+
style="stroke-width:1">null</tspan></text>
|
78
|
+
<text
|
79
|
+
xml:space="preserve"
|
80
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
81
|
+
x="33.79007"
|
82
|
+
y="34.808594"
|
83
|
+
id="text831"><tspan
|
84
|
+
sodipodi:role="line"
|
85
|
+
id="tspan829"
|
86
|
+
x="33.79007"
|
87
|
+
y="34.808594"
|
88
|
+
style="stroke-width:1">1 0 1</tspan></text>
|
89
|
+
<text
|
90
|
+
xml:space="preserve"
|
91
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
92
|
+
x="-3.6807373"
|
93
|
+
y="49.937122"
|
94
|
+
id="text835"><tspan
|
95
|
+
sodipodi:role="line"
|
96
|
+
id="tspan833"
|
97
|
+
x="-3.6807373"
|
98
|
+
y="49.937122"
|
99
|
+
style="stroke-width:1">data</tspan></text>
|
100
|
+
<text
|
101
|
+
xml:space="preserve"
|
102
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
103
|
+
x="33.297943"
|
104
|
+
y="50.042957"
|
105
|
+
id="text839"><tspan
|
106
|
+
sodipodi:role="line"
|
107
|
+
id="tspan837"
|
108
|
+
x="35.943775"
|
109
|
+
y="50.042957"
|
110
|
+
style="stroke-width:1">1 X 3 </tspan></text>
|
111
|
+
<rect
|
112
|
+
y="21.455357"
|
113
|
+
x="86.995552"
|
114
|
+
height="33.886806"
|
115
|
+
width="41.015972"
|
116
|
+
id="rect843"
|
117
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
118
|
+
<text
|
119
|
+
id="text851"
|
120
|
+
y="34.808594"
|
121
|
+
x="107.50354"
|
122
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
123
|
+
xml:space="preserve"><tspan
|
124
|
+
style="stroke-width:1"
|
125
|
+
y="34.808594"
|
126
|
+
x="107.50354"
|
127
|
+
id="tspan849"
|
128
|
+
sodipodi:role="line">0 1 1</tspan></text>
|
129
|
+
<text
|
130
|
+
id="text855"
|
131
|
+
y="50.042957"
|
132
|
+
x="107.60938"
|
133
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
134
|
+
xml:space="preserve"><tspan
|
135
|
+
style="stroke-width:1"
|
136
|
+
y="50.042957"
|
137
|
+
x="107.60938"
|
138
|
+
id="tspan853"
|
139
|
+
sodipodi:role="line">X 2 5</tspan></text>
|
140
|
+
<text
|
141
|
+
xml:space="preserve"
|
142
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
143
|
+
x="70.829102"
|
144
|
+
y="17.364624"
|
145
|
+
id="text859"><tspan
|
146
|
+
sodipodi:role="line"
|
147
|
+
id="tspan857"
|
148
|
+
x="70.829102"
|
149
|
+
y="17.364624"
|
150
|
+
style="stroke-width:1">+</tspan></text>
|
151
|
+
<text
|
152
|
+
xml:space="preserve"
|
153
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
154
|
+
x="33.125305"
|
155
|
+
y="16.767906"
|
156
|
+
id="text863"><tspan
|
157
|
+
sodipodi:role="line"
|
158
|
+
id="tspan861"
|
159
|
+
x="33.125305"
|
160
|
+
y="16.767906"
|
161
|
+
style="stroke-width:1">[1, null, 3]</tspan></text>
|
162
|
+
<text
|
163
|
+
xml:space="preserve"
|
164
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
165
|
+
x="108.5329"
|
166
|
+
y="16.767906"
|
167
|
+
id="text867"><tspan
|
168
|
+
sodipodi:role="line"
|
169
|
+
id="tspan865"
|
170
|
+
x="108.5329"
|
171
|
+
y="16.767906"
|
172
|
+
style="stroke-width:1">[null, 2, 5]</tspan></text>
|
173
|
+
<rect
|
174
|
+
y="74.641991"
|
175
|
+
x="11.892818"
|
176
|
+
height="33.886806"
|
177
|
+
width="41.015972"
|
178
|
+
id="rect869"
|
179
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
180
|
+
<text
|
181
|
+
id="text877"
|
182
|
+
y="87.995232"
|
183
|
+
x="32.400803"
|
184
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
185
|
+
xml:space="preserve"><tspan
|
186
|
+
style="stroke-width:1"
|
187
|
+
y="87.995232"
|
188
|
+
x="32.400803"
|
189
|
+
id="tspan875"
|
190
|
+
sodipodi:role="line">0 0 1</tspan></text>
|
191
|
+
<text
|
192
|
+
id="text885"
|
193
|
+
y="103.22959"
|
194
|
+
x="32.136223"
|
195
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
196
|
+
xml:space="preserve"><tspan
|
197
|
+
style="stroke-width:1"
|
198
|
+
y="103.22959"
|
199
|
+
x="34.782055"
|
200
|
+
id="tspan883"
|
201
|
+
sodipodi:role="line">X X 8 </tspan></text>
|
202
|
+
<text
|
203
|
+
id="text912"
|
204
|
+
y="122.74027"
|
205
|
+
x="32.48177"
|
206
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
207
|
+
xml:space="preserve"><tspan
|
208
|
+
style="stroke-width:1"
|
209
|
+
y="122.74027"
|
210
|
+
x="32.48177"
|
211
|
+
id="tspan910"
|
212
|
+
sodipodi:role="line">[null, null, 8]</tspan></text>
|
213
|
+
<path
|
214
|
+
style="fill:none;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
215
|
+
d="M 48.643053,31.601359 H 61.887955 V 85.055264 H 48.108515"
|
216
|
+
id="path934"
|
217
|
+
inkscape:connector-curvature="0"
|
218
|
+
sodipodi:nodetypes="cccc" />
|
219
|
+
<path
|
220
|
+
style="fill:none;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
221
|
+
d="M 91.216399,31.601359 H 57.730217"
|
222
|
+
id="path938"
|
223
|
+
inkscape:connector-curvature="0"
|
224
|
+
sodipodi:nodetypes="cc" />
|
225
|
+
<text
|
226
|
+
xml:space="preserve"
|
227
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
228
|
+
x="19.087797"
|
229
|
+
y="69.269341"
|
230
|
+
id="text942"><tspan
|
231
|
+
sodipodi:role="line"
|
232
|
+
id="tspan940"
|
233
|
+
x="19.087797"
|
234
|
+
y="69.269341"
|
235
|
+
style="stroke-width:1">bitwise &</tspan></text>
|
236
|
+
<path
|
237
|
+
style="fill:none;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.00000003, 1.00000003;stroke-dashoffset:0;stroke-opacity:1"
|
238
|
+
d="M 48.380951,46.590772 H 72.004464 V 98.373511 H 49.136905"
|
239
|
+
id="path944"
|
240
|
+
inkscape:connector-curvature="0" />
|
241
|
+
<path
|
242
|
+
style="fill:none;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.00000003, 1.00000003;stroke-dashoffset:0;stroke-opacity:1"
|
243
|
+
d="M 91.281248,46.590772 H 72.004464"
|
244
|
+
id="path946"
|
245
|
+
inkscape:connector-curvature="0"
|
246
|
+
sodipodi:nodetypes="cc" />
|
247
|
+
<text
|
248
|
+
xml:space="preserve"
|
249
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
250
|
+
x="79.452759"
|
251
|
+
y="69.093643"
|
252
|
+
id="text950"><tspan
|
253
|
+
sodipodi:role="line"
|
254
|
+
id="tspan948"
|
255
|
+
x="79.452759"
|
256
|
+
y="69.093643"
|
257
|
+
style="text-align:start;text-anchor:start;stroke-width:1">+ by SIMD</tspan><tspan
|
258
|
+
sodipodi:role="line"
|
259
|
+
x="79.452759"
|
260
|
+
y="79.887405"
|
261
|
+
style="text-align:start;text-anchor:start;stroke-width:1"
|
262
|
+
id="tspan47">including null</tspan><tspan
|
263
|
+
sodipodi:role="line"
|
264
|
+
x="79.452759"
|
265
|
+
y="90.68116"
|
266
|
+
style="text-align:start;text-anchor:start;stroke-width:1"
|
267
|
+
id="tspan954">elements</tspan></text>
|
268
|
+
<text
|
269
|
+
id="text958"
|
270
|
+
y="87.889397"
|
271
|
+
x="-3.3676131"
|
272
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
273
|
+
xml:space="preserve"><tspan
|
274
|
+
style="stroke-width:1"
|
275
|
+
y="87.889397"
|
276
|
+
x="-3.3676131"
|
277
|
+
id="tspan956"
|
278
|
+
sodipodi:role="line">null</tspan></text>
|
279
|
+
<text
|
280
|
+
id="text962"
|
281
|
+
y="103.12376"
|
282
|
+
x="-3.6807373"
|
283
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:100%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:middle;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
284
|
+
xml:space="preserve"><tspan
|
285
|
+
style="stroke-width:1"
|
286
|
+
y="103.12376"
|
287
|
+
x="-3.6807373"
|
288
|
+
id="tspan960"
|
289
|
+
sodipodi:role="line">data</tspan></text>
|
290
|
+
</g>
|
291
|
+
</svg>
|
Binary file
|
data/plot-0.png
ADDED
Binary file
|
data/plot-1.png
ADDED
Binary file
|
data/plot-2.png
ADDED
Binary file
|
data/plot-3.png
ADDED
Binary file
|
data/theme.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
include_theme("clear-code")
|
metadata
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kou-scipy-japan-2019
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2019.4.23.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kouhei Sutou
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-04-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rabbit-theme-clear-code
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: |-
|
42
|
+
Apache Arrow is the future for data processing systems. This talk
|
43
|
+
describes how to solve data sharing overhead in data processing system
|
44
|
+
such as Spark and PySpark. This talk also describes how to accelerate
|
45
|
+
computation against your large data by Apache Arrow.
|
46
|
+
email:
|
47
|
+
- kou@clear-code.com
|
48
|
+
executables: []
|
49
|
+
extensions: []
|
50
|
+
extra_rdoc_files: []
|
51
|
+
files:
|
52
|
+
- ".rabbit"
|
53
|
+
- README.rd
|
54
|
+
- Rakefile
|
55
|
+
- apache-arrow.rab
|
56
|
+
- config.yaml
|
57
|
+
- images/apache-arrow-and-me.svg
|
58
|
+
- images/commits-0.11.0-0.12.0.png
|
59
|
+
- images/commits-0.12.0-0.13.0.png
|
60
|
+
- images/contributors.png
|
61
|
+
- images/serialize-list.png
|
62
|
+
- images/simd-null.svg
|
63
|
+
- pdf/scipy-japan-2019-apache-arrow.pdf
|
64
|
+
- plot-0.png
|
65
|
+
- plot-1.png
|
66
|
+
- plot-2.png
|
67
|
+
- plot-3.png
|
68
|
+
- theme.rb
|
69
|
+
homepage: https://slide.rabbit-shocker.org/authors/kou/scipy-japan-2019/
|
70
|
+
licenses:
|
71
|
+
- CC-BY-SA-4.0
|
72
|
+
metadata: {}
|
73
|
+
post_install_message:
|
74
|
+
rdoc_options: []
|
75
|
+
require_paths:
|
76
|
+
- lib
|
77
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
requirements: []
|
88
|
+
rubyforge_project:
|
89
|
+
rubygems_version: 2.7.6.2
|
90
|
+
signing_key:
|
91
|
+
specification_version: 4
|
92
|
+
summary: Apache Arrow - A cross-language development platform for in-memory data
|
93
|
+
test_files: []
|