Inside Parquet Format

22
Parquet-format Yue Chen http://linkedin.com/in/yuechen2 http://dataera.wordpress.com

description

Inside the Parquet columnar storage format for databases

Transcript of Inside Parquet Format

Page 1: Inside Parquet Format

英文标题:40-47pt

副标题:26-30pt

字体颜色:反白

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:35-47pt

字体:黑体

副标题:24-28pt

字体颜色:反白

字体:细黑体

Parquet-format Yue Chen

http://linkedin.com/in/yuechen2

http://dataera.wordpress.com

Page 2: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Goal

To have a state-of-the-art columnar storage available

across the Hadoop platform

Hadoop is very reliable for big long running queries but also

IO heavy.

Incrementally take advantage of column based storage in

existing framework.

Not tied to any framework in particular

Can be used to store nested data

Page 3: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Columnar Storage

Limits IO to data actually needed:

loads only the columns that need to be accessed.

Saves space:

Columnar layout compresses better

Type specific encodings.

Enables vectorized execution engines.

Page 4: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Columnar Storage

row-oriented storage

colume-oriented storage

Page 5: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

The Model

Schema:

required: exactly one occurrence

optional: 0 or 1 occurrence

repeated: 0 or more occurrences

Example:

Page 6: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

The Model

Lists (or Sets) can be represented by a repeating field.

Page 7: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

The Model

A Map is equivalent to a repeating field containing

groups of key-value pairs where the key is required.

Page 8: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Table Format

Page 9: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

How to store?

The structure of the record is captured for each value by

two integers called repetition level and definition level.

Using definition and repetition levels, we can fully

reconstruct the nested structures.

Page 10: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Definition Levels

To support nested records we need to store the level for

which the field is null.

Page 11: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Definition Levels Example

Page 12: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Definition Levels More Example

The maximum definition level is now 2 as b does not need one.(cannot be null)

Page 13: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Repetition levels

To support repeated fields we need to store when new lists

are starting in a column of values.

The repetition level can be seen as a marker of when to

start a new list and at which level.

Page 14: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Repetition levels Example

0 marks every new record and implies creating a new level1 and level2 list; 1 marks every new level1 list and implies creating a new level2 list as well; 2 marks every new element in a level2 list;

Page 15: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Repetition levels Example

Page 16: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Summary Example

Page 17: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

We’ll now focus on the column contacts.phoneNumber to illustrate this.

Summary Example

Page 18: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

To write the column we iterate through the record data for

this column:

contacts.phoneNumber: “555 987 6543”

new record: R = 0

value is defined: D = maximum (2)

contacts.phoneNumber: null

repeated contacts: R = 1

only defined up to contacts: D = 1

contacts: null

new record: R = 0

only defined up to AddressBook: D = 0

Summary Example

Page 19: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

The columns contains the following data:

Summary Example

Page 20: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

To reconstruct the records from the column, we iterate through

the column:

R=0, D=2, Value = “555 987 6543”:

R = 0 means a new record. We recreate the nested records from the root

until the definition level (here 2)

D = 2 which is the maximum. The value is defined and is inserted.

R=1, D=1:

R = 1 means a new entry in the contacts list at level 1.

D = 1 means contacts is defined but not phoneNumber, so we just create

an empty contacts.

R=0, D=0:

R = 0 means a new record. we create the nested records from the root

until the definition level

D = 0 => contacts is actually null, so we only have an empty

AddressBook

Summary Example

Page 21: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Compression Codecs

Snappy, GZIP; currently Snappy by default

Page 22: Inside Parquet Format

http://dataera.wordpress.com http://linkedin.com/in/yuechen2

英文标题:32-35pt

颜色: R153 G0 B0

内部使用字体 :

FrutigerNext LT Medium

外部使用字体 : Arial

中文标题:30-32pt

颜色: R153 G0 B0

字体:黑体

英文正文:20-22pt

子目录 (2-5级) :18pt

颜色:黑色

内部使用字体 :

FrutigerNext LT Regular

外部使用字体 : Arial

中文正文:18-20pt

子目录(2-5级):18pt

颜色:黑色

字体:细黑体

配色参考方案:

建议同一页面

内不超过四种

颜色,以下是

13组配色方案,

同一页面内只

选择一组使用。

(仅供参考)

客户或者合作

伙伴的标志放

在右上角.

Reference

https://blog.twitter.com/2013/dremel-made-simple-with-

parquet