Apache Parquet? ?? ????? ???? ?? ? ?? ???? ????? ?? ??? ???? ???? ???? ? ??? ? ?? ??? ?? ??? ?????.
?? ????? ?? ? ??? ?? ????? ? ???? ?? ?? ?? ??? ???? ???? ????? ???? ?????. ?? ?? ???? ??? ???? ?? ??? ?????.
? ????? Java?? Parquet? ?? ??? ???? ?? ?? ???? ??? ?????.
?? ??
?? ? ?? ???? ??? ?? Parquet? ? ?? ?? ??? ????? ??? ??? ???? ?? ???? ?? ???? ???? ?? ????? ???? ?? ??? ??? ? ????.
Parquet? ??? ???? ???? ???? ?? ?? ??? ???? ? ?? ???? ??? ?????.
- ? ?? ? ? ?? ?? ??? ?? ??? ??(?? ???, ?? ?? ???, ?? ??, ?? ??? ?)? ????? ?????.
- ?? ??? ?(???? 1MB)? ??? ??? ???? ???? ?????? ??? ? ?? ????(???, GZip, Snappy, LZ4, ZSTD ?)? ???? ???? ??? ?????.
?? ????? ?? ???? ????? ? ?? ???? ?? ??? ??? ???? ???? ?????(??? parquet-java ?????).
??? ?? ??? ??? ???? ?? ????? ?? ?? ?? ??? ?? ?? ???? ??? ???? ?? ???? ????. ?? ???? ???? ???.
??
??? ???? ?? ? ???? ??? ?????. ??? ?? ? Parquet? ?? ?? ????? ????? ???? ?? ?? ?? ????? ?????.
???? ?? ?? ??
???? ??? Avro? ???? Carpet ? Parquet?? ?? ????? ????? ??? withCompressionCodec ???? ???? ???.
??
CarpetWriter<T> writer = new CarpetWriter.Builder<>(outputFile, clazz) .withCompressionCodec(CompressionCodecName.ZSTD) .build();
???
ParquetWriter<Organization> writer = AvroParquetWriter.<Organization>builder(outputFile) .withSchema(new Organization().getSchema()) .withCompressionCodec(CompressionCodecName.ZSTD) .build();
???? ??
ParquetWriter<Organization> writer = ProtoParquetWriter.<Organization>builder(outputFile) .withMessage(Organization.class) .withCompressionCodec(CompressionCodecName.ZSTD) .build();
?? CompressionCodecName ???? ?? ??? ? ? ???? ???: UNCOMPRESSED, SNAPPY, GZIP, LZO, BROTLI, LZ4, ZSTD ? LZ4_RAW(LZ4? ? ?? ???? ??? LZ4_RAW? ???? ?).
?? ??
?? ?? ????? ?? ??? ?? ???? ??? ?????. ? ??? ????? ?? ??? ?? ? ??? ??? ??? ????. ?? ??? ???? ?? ????? ? ?? ??? ???? ?????.
???? ????? ? ???? ?? ?? ?????? Parquet? ?? ?? ????? ???? ??? ? ????.
?? ???? ?? ??? ??? ? ??? ?? ???? ? ??? ???? ??? ????? ? ????? ?? ???? ???? ???.
ZSTD
?? ?? ??? ?? ZSTD ??? ?? ZstandardCodec.PARQUET_COMPRESS_ZSTD_LEVEL
? ?????.
??? ?? 1~22??, ???? 3???.
CarpetWriter<T> writer = new CarpetWriter.Builder<>(outputFile, clazz) .withCompressionCodec(CompressionCodecName.ZSTD) .build();
LZO
?? ?? ??? ?? LZO ??? LzoCodec.LZO_COMPRESSION_LEVEL_KEY
??? ?????.
??? ?? 1~9, 99, 999??, ???? '999'???.
ParquetWriter<Organization> writer = AvroParquetWriter.<Organization>builder(outputFile) .withSchema(new Organization().getSchema()) .withCompressionCodec(CompressionCodecName.ZSTD) .build();
GZIP
??? ???? ??? "zlib.compress.level" ???? ?? ???? ??, ??? ?? 0~9??, ???? "6"???.
ParquetWriter<Organization> writer = ProtoParquetWriter.<Organization>builder(outputFile) .withMessage(Organization.class) .withCompressionCodec(CompressionCodecName.ZSTD) .build();
?? ???
??? ?? ????? ??? ???? ?? ??? ??? ???? ??? ? ?? ?? ?????? ???????.
- ??? ?? ??: ?? ?? ??? ??? ??? ??? ?? ???? ????. 23?? ?? ?? 1,960? ?? ???? ???? ????.
- ???? ??? ??? ????: ?? ??? ?? ??? ?? ?? ??? ??? ??? ???? ???? ????. 91?? ?? 200? ?? ?? ???? ????.
Parquet Java?? ???? ?? ?? ????(UNCOMPRESSED, SNAPPY, GZIP, LZO, ZSTD, LZ4_RAW)? ???????.
???? parquet-java?? ???? ?? ??? ? ????? ?? ?? ???? Carpet? ??? ?????.
GitHub?? ?? ??? ?? ? ???, ???? AMD Ryzen 7 4800HS CPU ? JDK 17? ??? ????? ???????.
?? ??
? ??? ??? ???? ?? ?? CSV ??? ??? ?????.
格式 | gov.it | 紐約出租車(chē) |
---|---|---|
CSV | 1761 MB | 2983 MB |
未壓縮 | 564 MB | 760 MB |
SNAPPY | 220 MB | 542 MB |
GZIP | **146 MB** | 448 MB |
ZSTD | 148 MB | **430 MB** |
LZ4_RAW | 209 MB | 547 MB |
LZO | 215 MB | 518 MB |
? ?? ??? ? GZip? Zstandard? ??? ??? ?? ????????.
Parquet ??? ??? ???? ?? ??? ?? CSV ??? 25%-32%?? ?? ? ????. ?? ??? ???? CSV ??? 9%~15%? ?????.
??
??? ???? ??? ?? ????? ??????
??? ??? ? ? ?? ?? ?? ???? ??? ?? ??? ????.
算法 | gov.it | 紐約出租車(chē) |
---|---|---|
未壓縮 | 25.0 | 57.9 |
SNAPPY | 25.2 | 56.4 |
GZIP | 39.3 | 91.1 |
ZSTD | 27.3 | 64.1 |
LZ4_RAW | **24.9** | 56.5 |
LZO | 26.0 | **56.1** |
SNAPPY, LZ4 ? LZO? ???? ?? ??? ??? ??? ???? ?? ZSTD? ??? ????? ?????. GZIP? ?? ??? 50% ???? ? ??? ??? ?????.
??
??? ?? ?? ?? ??? ??? ? ???? ??? ? ????.
??? ?? ?? ?? ? ??? ??(?)? ??? ????.
算法 | gov.it | 紐約出租車(chē) |
---|---|---|
未壓縮 | 11.4 | 37.4 |
SNAPPY | **12.5** | **39.9** |
GZIP | 13.6 | 40.9 |
ZSTD | 13.1 | 41.5 |
LZ4_RAW | 12.8 | 41.6 |
LZO | 13.1 | 41.1 |
?? ??? ??? ??? ??? ?? ?? ????? 10~20%???.
??
?? ? ?? ?? ???? ?? ?????? ?? ?? ????? ??? ?? ??? ??? ????. ???? ?? ??? ???? ?? ??(? ??) ?? ??? ??? ? ????.
? ? ?? ?? ???? ?? ?? ?? ????? ???? ?? ??? ??? ??? ?? ??? ????. ZSTD? Gzip? ??????(??? ?? ??? ???).
? ?????? ??? ???? ?? ?? ??? ???? ?? ????? ?? ??? ? ???? ???? ????.
- ?? ???? ?? ???? ????? ???? ???? ???? ??????.
- ?? ?? ??? ??????.
- ??? ?? ? ???? ?? ??? ??????.
??? ?? ?? ????? ???? ??? ?? ?? ? ???? ?? ???? ???? ???. Carpet??? ???? ???? ??? ????? ??? ?? Snappy? ?????.
?? ????
?? CompressionCodecName ???? ?? ??? ? ? ???? ???. ? ??? ?? ??? ?? ????? ???? ???? ?????:
CarpetWriter<T> writer = new CarpetWriter.Builder<>(outputFile, clazz) .withCompressionCodec(CompressionCodecName.ZSTD) .build();
Parquet? ????? ???? CompressionCodec ?????? ???? ?? ??? ???? ????????. ?? ??? ?? Parquet? ?? Hadoop ????? ??? ? ? ????. ?? Java ???? Parquet? Hadoop? ??? ? ???? ??? ?????.
??? ?? ? ??? ????? ?? ??? ??? JAR? ????? ????? ???? ???.
parquet-java? ??? ? ?? ??? ??? ???? ???? ??? Hadoop ???? ?? ????? ??? ? ????.
org.apache.parquet:parquet-hadoop ???? SnappyCodec, ZstandardCodec ? Lz4RawCodec? ??? ?????. ?? ? ? ?? ????? ?? ??? ?? snappy-java, zstd-jni ? aircompressor ???? ????? ?????. .
hadoop-common:hadoop-common ????? GzipCodec ??? ???? ????.
BrotliCodec ? LzoCodec ??? ??? ???? Parquet ?? Hadoop ???? ??? ????. ??? ?? ???? ???? ?? ???? ???????? ?? ???? ??? ??? ??? ? ????.
- LZO? ????? pom ?? gradle ??? org.anarres.lzo:lzo-hadoop ???? ???? ???.
- Brotli? ??? ? ?????. ???? Maven Central? ??? JitPack ???? ???? ???.
? ??? Parquet Java? ?? ????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

Javanio? Java 1.4? ?? ? ??? IOAPI???. 1) ?? ? ??? ?????, 2) ??, ?? ? ??? ?? ?? ??, 3) ? ??? ??? ???? 4) ?? ??? ?? IO?? ? ????? ?????. 1) ? ?? IO? ??? ?? ??? ???, 2) ??? ??? ?? ???? ?????, 3) ???? ?????? ???? 4) ??? ?? ??? ?? ?? ? ??? ?????. 1) ??? ??/??? ??? ?? ?????, 2) ???? ???? ???? ?? ???? ???????. 3) ??? ??? ??? ???????.

?? ?? Java? ?? ???? ?? ? ? ? ????? ????, ? ??? ??? ??? ??? ???? ? ????. 1. ?? ?? hashcode () ???? ???? ?? ?? ???? ?? ??? ?? ?? ???? ?????. 2. ?? ??? ??? ?? ?? ???? ??? ??? ? ????. ?? ??? ?? ? ??? ??? ?????. JDK8 ? ?? ? ??? ?? ?? (?? ?? 8) ??? ????? ?? ???? ?? ? ??? ?????. 3. ??? ?? ???? ?? ???? ?? equals () ? hashcode () ???? ?? ???????. 4. ?? ?? ??? ???? ?????. ?? ?? ??? ???? ?? ?? (?? 0.75)? ??? ?? ? ???; 5. ?? ?? ??? ??? ??? Multithreaded?? Concu? ???????.

Java? Singleton Design Pattern? ???? ??? ???? ? ?? ?? ??? ? ?? ??? ?? ??? ??? ???? ???? ?? ???? ?? ???? ???? ??? ?????. ?? ???? ??? ?????. 1. ?????, ? ????? ? ?? ??? ?? ? ?? ????, ?? ?? ??? ?? ??? ???? ?? ??? ?????. 2. ???-?? ??, ??? ?? ?? ?? ?? ??? ?? ?? ??? ???? ??? ???? ? ???? ?? ??? ????. 3. ??? ?? ?? ????? ?? ????? ??? ??? ?? ??? ? ??? ??? ?? ?? ????? ?????. 4. ?? ??? ???? ???, ??? ??? ? ?? ??? ???? ?? ??? ???? ??? ??? ?????. ?? ??? ?? ?? ?? ??? ??? ? ????.

?? ??? ??? ???? ???? ? ??? ?? ?? ???? ?? ? ????. 1. ??. ofnullable? null ??? ??? ???? ?????. ?? ??, ??? ?? ??? ? Orelse? ???? ???? ? ???? ??? ???? ?????. 2. ?? ?? ?? ???? ?? ?? ???? NPE? ???? ??? ??? ??? ???? ???? ???? ?????. 3. ??? ??? ???? ??? ? ???, ??? ???? ???? ?? ??? ?? ?????. ??? ??? ??? ???? ??? ??? Orelse? ?? ?????. 4. ?? ???? ??? ??? ?? ??? ??? ???? ???? ?? ???? ???? ???? ?? ??? ?? ????? NU? ?? ?????.

java.io.notserializableException? ????? ?? ?? ??? ??? ???? ?? ???? ??? ??? ?????? ???? ?? ? ??? ??? ??? ????? ???? ????. 1. ?? ???? ??? ??????. 2. ???? ?? ??? ?? ???? ??? ??? ?????????. 3. ??? ? ????? ?? ??? ??? ??????. 4. ?? ?? ?? ? ???? ? ??? ??? ??????. 5. ?????? ???? ?? ???? ??????. 6. ? ??? ?? ?? ??? ??? ?? ?? ??? ?? ??? ??? ???? ?? ??? ??????. 7. ??? ??????

???? ???? StringBuilder? ?? ???? ???-??? ??? StringBuffer? ?? ???? ??? ?????. 1. ???? ??? ?? ? ? ??? ??? ? ??? ?? ?????. 2. StringBuilder? ?? ???? ??? ??? ???? ???? ????. 3. StringBuffer? ?? ??? ?? ????? ????? ??? ?? ????. 4. ?? ??? ????? ???? ???? ??? ? ??? ?? ???? ??? ??? ?? ? ? ????.

Java? ?? ??? ??? ????? ?? ? ???? ???? ???? ???? ???? ????. 1. ???? ?? ?? ??? ?? ???? ???? InputStreamReader ? OutputStreamWriter? ???? ??? ?? ???? ???? ??? ?? ? ?? ??? ??????. 2. ???? ???? ???? ?? ? ? ?? ?? ??????? ??? ??? ?? ??? ???? ?????? ???? ?? ??? ??????. 3. String.getBytes () ? Newstring (byte [])????? ???? ??? ??? ?? ??? ??? ??? ?? ?? Standardcharsets.utf_8? ???? ??????. ???,

Javasocket ?????? ???? ??? ????, ?????? ?? ?? ??? ??? ??? ?? ?????. 1. Java? ??? ?????? ???? ?? ???? ???? ???? ?? ?? ???? ????. 2. ?? ????? ??? ? ?? ?? ?? ??? ??? ?? ?????? ??? ???????. 3. ?????? ?????? ?? ??, ??? ?? ? ?? ? ??? ??? ?????. 4. ?? ???? ?? ??? ??? IP ??? ???? ????, ??? ????? ????, ?? ?????? ???? ?? ?????. ???? ????? ?? ???? ?? ??? ??? ? ????.
