Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
Hadoop Conference Japan 2011 Fallに行ってきました
moai kids
HBase本輪読会資料(11章)
moai kids
snappyについて
moai kids
第四回月次セミナー(公開版)
moai kids
第三回月次セミナー(公開版)
moai kids
Pythonで自然言語処理
moai kids
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
moai kids
Yammer試用レポート(公開版)
moai kids
1
of
84
Top clipped slide
おひろめ会:Javaにおけるデータシリアライズ手法
Mar. 26, 2010
•
0 likes
16 likes
×
Be the first to like this
Show More
•
5,721 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
moai kids
Follow
Advertisement
Advertisement
Advertisement
Recommended
中国最新ニュースアプリ事情
moai kids
2.4K views
•
75 slides
FluentdとRedshiftの素敵な関係
moai kids
5.7K views
•
21 slides
Twitterのsnowflakeについて
moai kids
24.2K views
•
37 slides
Programming Hive Reading #4
moai kids
9.7K views
•
41 slides
Programming Hive Reading #3
moai kids
7.5K views
•
26 slides
"Programming Hive" Reading #1
moai kids
10K views
•
27 slides
More Related Content
More from moai kids
(20)
Hadoop Conference Japan 2011 Fallに行ってきました
moai kids
•
3.4K views
HBase本輪読会資料(11章)
moai kids
•
2.4K views
snappyについて
moai kids
•
3.7K views
第四回月次セミナー(公開版)
moai kids
•
1K views
第三回月次セミナー(公開版)
moai kids
•
1.1K views
Pythonで自然言語処理
moai kids
•
9.7K views
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
moai kids
•
4.7K views
Yammer試用レポート(公開版)
moai kids
•
3.9K views
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
moai kids
•
5K views
中国と私(仮題)
moai kids
•
690 views
不自然言語処理コンテストLT資料
moai kids
•
3.1K views
n-gramコーパスを用いた類義語自動獲得手法について
moai kids
•
12K views
Analysis of ‘lang-8’
moai kids
•
796 views
Androidの音声認識とテキスト読み上げ機能について
moai kids
•
8.1K views
Amebaサーチ使用傾向
moai kids
•
785 views
Amebaサーチのデータを用いた応用
moai kids
•
939 views
Javaにおけるデータシリアライズと圧縮
moai kids
•
12.9K views
Amebaにおける絵文字
moai kids
•
86.4K views
おひろめ会〜教師なしワード抽出
moai kids
•
954 views
おひろめ会〜Amebloの絵文字解析
moai kids
•
2.6K views
Recently uploaded
(20)
最新1:1仿造科廷大学毕业证文凭
ueususw
•
2 views
مؤشرات الآداء الرئيسية 11 .pdf
AtefMarzouk1
•
1 view
哪里可以买英国威尔士三一圣大卫大学毕业证文凭
aswdgyo
•
3 views
最新1:1仿造纽约州立大学水牛城分校毕业证文凭
gboth
•
2 views
留学美国必看:纽约大学毕业证、学位证办理流程
yuazbb
•
3 views
无法毕业?美国阿肯色理工大学毕业证书和学位证书办理
sefomo
•
3 views
最新1:1仿造斯旺西大学毕业证文凭
ueususw
•
3 views
学校原版仿《堪培拉大学毕业证学士学位证书》
gbxyz
•
2 views
无法毕业?澳大利亚拉筹伯大学毕业证书和学位证书办理
ynexeyb
•
4 views
留学美国必看:加州大学圣克鲁兹分校毕业证、学位证办理流程
oqcymp
•
3 views
无法毕业?德国克劳斯塔尔工业大学毕业证书和学位证书办理
sefomo
•
2 views
在哪里可以办加拿大大学文凭《卡尔加里大学毕业证成绩单仿制》
bqexmu
•
2 views
哪里可以买加拿大圣力嘉学院毕业证文凭
aswdgyo
•
4 views
哪里可以买法国上阿尔萨斯大学毕业证文凭
aswdgyo
•
3 views
在哪里可以办英国大学文凭《德蒙福特大学毕业证成绩单仿制》
bqexmu
•
2 views
Kostumisasi Home Page.pptx
Muntashir3
•
2 views
最新1:1仿造梅西大学毕业证文凭
gboth
•
3 views
ホールデムサイト 【www,rt33,top】コードb77 バカラ予測 💨 コモロ ℭ mgmちょっとリアルタイム ๊ エンジエンバカラ ᄎ ビビカジノ ...
ssuser8be025
•
8 views
테니스토토 {ωωω.rt33.top}코드:b77 아메리칸사모아 국가대표 Ⓖ mcm토토 ㊛ 88카지노 ㋴ 프리미어리그경기일정 ⒦ 몰타 분석 ...
sangin3
•
8 views
学校原版仿《那不勒斯美术学院毕业证学士学位证书》
edyvoxc
•
3 views
Advertisement
おひろめ会:Javaにおけるデータシリアライズ手法
Java
Java
API public class Hoge implements Serializable{
XML
wikipedia to
Hello World!
Java →116 ac ed 00 05 73 72 00 26 62 65 6e 63 68 6d 61 72 6b 2e 74 65 73 74 63 61 73 65 2e 62 65 61 6e 2e 48 65 6c 6c 6f 57 6f 72 6c 64 42 65 61 6e 52 9a 88 0d cc 48 49 00 02 00 02 4a 00 04 74 69 6d 65 4c 00 03 73 74 72 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 01 27 8a dc 2a e2 74 00 0c 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 JSON →43 {"str":"Hello World!","time":1269345080819}
Java RMI EJB
RPC(Remote Procedure Call)
Java ※ Java
✓ ✓ ✓ ✓
{"str":"Hello World!","time":1269345080819} JavaScript
Java
JSON • Json-lib( ) http://json-lib.sourceforge.net/ • JSONIC http://jsonic.sourceforge.jp/ • FlexJson http://flexjson.sourceforge.net/ •
Java
API (writeExternal/readExternal) public class Hoge implements Externalizable{ private String str; private long time; @Override public void writeExternal(ObjectOutput out) { out.writeObject(this.str); out.writeLong(this.time); } @Override public void readExternal(ObjectInput in) { this.str = (String)in.readObject(); this.long = in.readLong(); } }
public class Hoge
implements Externalizable{
ac
ed 00 05 73 72 00 0d ac ed 00 05 73 72 00 1b 74 65 73 74 2e 54 65 73 74 65 73 74 2e 45 78 74 74 42 65 61 6e 20 e9 e2 65 72 6e 61 6c 69 7a 61 62 c4 df 79 42 02 00 03 62 6c 65 54 65 73 74 42 4a 00 02 69 64 4c 00 04 65 61 6e a3 be c9 30 53 74 69 6d 65 74 00 10 4c 4a 7a f8 0c 00 00 78 70 6a 61 76 61 2f 75 74 69 77 08 00 00 00 00 00 00 6c 2f 44 61 74 65 3b 4c 00 01 74 00 04 74 65 73 00 05 76 61 6c 75 65 74 74 73 72 00 0e 6a 61 76 00 12 4c 6a 61 76 61 2f 61 2e 75 74 69 6c 2e 44 6c 61 6e 67 2f 53 74 72 61 74 65 68 6a 81 01 4b 69 6e 67 3b 78 70 00 00 59 74 19 03 00 00 78 70 00 00 00 00 00 01 73 72 77 08 00 00 01 27 74 e6 00 0e 6a 61 76 61 2e 75 d3 af 78 78 74 69 6c 2e 44 61 74 65 68 6a 81 01 4b 59 74 19 03 00 00 78 70 77 08 00 00 01 27 74 e6 d2 3c 78 74 00 04 74 65 73 74
Google
BigTable RPC 2008 7 Apache Lisence Ver. 2.0)
IDL
DSL IDL (C++ Python Java package serializable.protobuf; message TestBean{ required int32 id = 1; required string value = 2; required int64 time = 3; }
ac
ed 00 05 73 72 00 0d 08 01 12 04 74 65 73 74 74 65 73 74 2e 54 65 73 18 f6 e2 b3 e1 06 74 42 65 61 6e 20 e9 e2 62 c4 df 79 42 02 00 03 4a 00 02 69 64 4c 00 04 74 69 6d 65 74 00 10 4c 6a 61 76 61 2f 75 74 69 6c 2f 44 61 74 65 3b 4c 00 05 76 61 6c 75 65 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 00 00 00 00 00 01 73 72 00 0e 6a 61 76 61 2e 75 74 69 6c 2e 44 61 74 65 68 6a 81 01 4b 59 74 19 03 00 00 78 70 77 08 00 00 01 27 74 e6 d2 3c 78 74 00 04 74 65 73 74
Hadoop
2009 4 RPC C C++ Java Python Ruby Hadoop Core Hive Pig RPC
JSON
Java {"type": "array", "items": "string"}
4f
62 6a 01 02 16 61 76 72 6f 2e 73 63 68 65 6d 61 ca 02 7b 22 74 79 70 65 22 3a 22 72 65 63 6f 72 64 22 2c 22 6e 61 6d 65 22 3a 22 50 72 69 6d 69 74 69 76 65 54 65 73 74 42 65 61 6e 22 2c 22 6e 61 6d 65 73 70 61 63 65 22 3a 22 74 65 73 74 22 2c 22 66 69 65 6c 64 73 22 3a 5b 7b 22 6e 61 6d 65 22 3a 22 69 64 22 2c 22 74 79 70 65 22 3a 22 6c 6f 6e 67 22 7d 2c 7b 22 6e 61 6d 65 22 3a 22 76 61 6c 75 65 22 2c 22 74 79 70 65 22 3a 22 73 74 72 69 6e 67 22 7d 2c 7b 22 6e 61 6d 65 22 3a 22 74 69 6d 65 22 2c 22 74 79 70 65 22 3a 22 6c 6f 6e 67 22 7d 5d 7d 00 0c 64 69 4e 57 ee 5f 83 7d a0 a8 7f b7 bb 60 33 02 18 02 08 74 65 73 74 f4 cf b6 ce ee 49 0c 64 69 4e 57 ee 5f 83 7d a0 a8 7f b7 bb 60 33
(Ruby
Python Perl C C++ Java
Protocol Buffers
zero-copy serialize C++ Ruby
•
JSON - {} [] - ๏ 0xcc →unsigned 8-bit integer • - • - • URL - http://d.hatena.ne.jp/viver/20100324/p1
JSON ac
ed 00 05 73 72 00 0d 83 a2 69 64 a1 31 a4 74 74 65 73 74 2e 54 65 73 69 6d 65 ad 31 32 36 39 74 42 65 61 6e 20 e9 e2 34 31 32 30 39 34 36 36 62 c4 df 79 42 02 00 03 31 a5 76 61 6c 75 65 ac 4a 00 02 69 64 4c 00 04 48 65 6c 6c 6f 20 57 6f 74 69 6d 65 74 00 10 4c 72 6c 64 21 6a 61 76 61 2f 75 74 69 6c 2f 44 61 74 65 3b 4c 00 05 76 61 6c 75 65 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 00 00 00 00 00 01 73 72 00 0e 6a 61 76 61 2e 75 74 69 6c 2e 44 61 74 65 68 6a 81 01 4b 59 74 19 03 00 00 78 70 77 08 00 00 01 27 74 e6 d2 3c 78 74 00 04 74 65 73 74
✓ ✓ ✓ ✓
-
1MB - List 1KB × 256 - Map key:256byte / value:int ×256 - Java
- - -
10000
-
Serializable - Externalizable - JSONIC - FlexJson - Protocol Bufferes - Hadoop Avro - Message Pack
Message Pack - ProtoBuf - Java
Serializable Externalizable -
✓ ✓ ✓ ✓
bzip2
• Deflate -
gzip zip • QuickLZ -
gzip
zip gzip = gzip Deflate LZ77 + (
Abraham Lempel
Jacob Ziv 1977 LZ LZ77 ※
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
Abraham Lempel
Jacob Ziv 1977
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC •
•
DAEBCBACBBBC • → →
- Message Pack -
Message Pack + Deflate - Message Pack + QuickLZ twitter (JSON) - - (
JSON
Message Pack - 3/4 Deflate
✓ ✓ ✓ ✓
Java Message Pack Java API
Serializable Externalizable Deflate
Editor's Notes
Advertisement