Ven*_*pan 5 apache-spark parquet dremel
我正在学习 Parquet File 的内部表示过程,因此我通过 Apache Parquet 的 Github页面、Google Dremel 的论文来了解定义和重复级别以及 Twitter 的博客来了解有关 Parquet 文件的更多信息。
为了将我通过阅读获得的其表示形式的理解与实际的 Parquet 文件表示形式联系起来,我对示例 Parquet 文件之一使用了parquet-tools
带选项的命令meta
,并打印了包含 3 个主要部分的详细信息:标题、文件架构和行组。我理解前两部分中提供的详细信息,但我无法完全理解行组部分中提供的所有详细信息。
以下是我的问题。
DO
, FPO
, VC
(这看起来像当前行组中所有行的计数)是什么。它所代表的含义的扩展可以在 parquet-tools Github页面中找到,但我想了解更多有关它的详细信息。我明白什么SZ
是和ST
是什么。ENC
我看到编码方案列表,例如BIT_PACKED
, PLAIN
, RLE
。我理解它各自的含义,但我不明白为什么总是使用至少 3 种编码方案。RC
和总大小旁边,我看到。对于第一页,它始终是 4。是怎么计算的?TS
OFFSET
不幸的是,由于安全限制,我无法附加parquet-tools meta
命令输出的片段,但我希望它不会太形象化我在每个问题中的意思。
此页面有我找到的最好的描述:\n https://github.com/apache/parquet-mr/tree/master/parquet-tools-deprecated
\n因此,DO、FPO 似乎只是该特定列的值开始的偏移信息。VC = 现有非空值的值计数。
\n使用 pandas 创建 Parquet 文件
\nimport pandas as pd\n\ndf = pd.DataFrame({\n \'w1\': ["John", "Max", "Hans"],\n \'w2\': ["Doe", "Mustermann", "Peter"],\n \'w3\': ["New York", "Berlin", "M\xc3\xbcnchen"],\n \'w4\': [1990, 1980, 1970]})\n\n\ndf.to_parquet(\'./test_pandas.lz4.parquet\', compression="lz4")\n
Run Code Online (Sandbox Code Playgroud)\nparquet-tools.jar 的元输出java -jar ./parquet-tools-1.10.1.jar meta <file>
file schema: schema\n--------------------------------------------------------------------------------\nw1: OPTIONAL BINARY O:UTF8 R:0 D:1\nw2: OPTIONAL BINARY O:UTF8 R:0 D:1\nw3: OPTIONAL BINARY O:UTF8 R:0 D:1\nw4: OPTIONAL INT64 R:0 D:1\n\nrow group 1: RC:3 TS:440 OFFSET:4\n--------------------------------------------------------------------------------\nw1: BINARY LZ4 DO:4 FPO:51 SZ:98/79/0.81 VC:3 ENC:PLAIN_DICTIONARY,RLE,PLAIN ST:[min: Hans, max: Max, num_nulls: 0]\nw2: BINARY LZ4 DO:165 FPO:219 SZ:106/87/0.82 VC:3 ENC:PLAIN_DICTIONARY,RLE,PLAIN ST:[min: Doe, max: Peter, num_nulls: 0]\nw3: BINARY LZ4 DO:337 FPO:394 SZ:115/97/0.84 VC:3 ENC:PLAIN_DICTIONARY,RLE,PLAIN ST:[min: Berlin, max: New York, num_nulls: 0]\nw4: INT64 LZ4 DO:524 FPO:565 SZ:121/109/0.90 VC:3 ENC:PLAIN_DICTIONARY,RLE,PLAIN ST:[min: 1970, max: 1990, num_nulls: 0]\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
2745 次 |
最近记录: |