rabbit-slide-kou-scipy-japan-2019 2019.4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|