问题标签 [snappy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3300 浏览

compression - 最快的解压算法?


我听说 Google snappy 是一个快速解压缩库。
Snappy 库使用什么作为他们的算法?
是否有一些解压缩速度更快的算法?
压缩率和编码不是我的兴趣,但实时解压缩是我的兴趣。
非常感谢您!

0 投票
0 回答
1152 浏览

laravel - Laravel / Snappy:无法生成 PDF 或创建文件夹

这是我的代码:

我收到以下错误:

有什么想法可能是错的吗?我无法确定是无法创建文件还是文件夹路径?

0 投票
1 回答
269 浏览

php - 将拉丁字符存储在php数组中,然后正确输出到浏览器,然后是PDF

我有一个 php 数组存储法语句子(拉丁语),翻译准备如下:

__( 用于将来的翻译目的。基本语言是法语。

如果我使用 Snappy 将文本输出到 PDF 中,我会得到奇怪的 utf8 编码字符,例如 é

然后我添加了

在输出之前到我的文本,它变得更好。但是有些字符仍然无法读取,例如

转换成

你能帮我理解如何存储我准备好的翻译文本以及如何正确输出吗?在存储到我的数组之前我必须对其进行编码吗?

非常感谢

0 投票
1 回答
9201 浏览

hive - 在 hive 表上设置压缩

我有一个基于 avro 模式的配置单元表。该表是使用以下查询创建的

CREATE EXTERNAL TABLE datatbl PARTITIONED BY (date String, int time) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' WITH SERDEPROPERTIES ( 'avro.schema.url'='path to schema file on HDFS') STORED as INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat' LOCATION '<path on hdfs>'

到目前为止,我们一直通过设置以下属性将数据插入到表中

hive> set hive.exec.compress.output=true; hive> set avro.output.codec=snappy;

但是,如果有人忘记设置上述两个属性,则无法实现压缩。我想知道是否有一种方法可以对表本身强制压缩,这样即使没有设置上述两个属性,数据也总是被压缩?

0 投票
0 回答
888 浏览

apache-spark - 在 Spark 中输入 snappy 数据

我正在尝试在 Spark 中读取 snappy 数据,但在 spark-shell 中出现以下错误:

我试图在任何地方都包含活泼的引用:

  • LD_LIBRARY_PATH
  • JAVA_LIBRARY_PATH
  • SPARK_LIBRARY_PATH 通过在 spark-env.sh 中包含这些
0 投票
3 回答
16689 浏览

hive - Hive 如何使用 parquet 和 snappy 创建表

我知道使用 parquet 创建表的语法,但我想知道使用 parquet 格式创建表并由 snappy 压缩意味着什么,我们如何做到这一点?请帮我一个示例语法。

使用 snappy 压缩有什么好处?

0 投票
2 回答
5811 浏览

java - 从流中安全解析字节数组的最佳分隔符

我有一个返回字节数组序列的字节流,每个字节数组代表一条记录。

我想将流解析为单个字节 [] 的列表。目前,我已经破解了一个三字节分隔符,以便我可以识别每条记录的结尾,但有顾虑。

我看到有一个标准的 Ascii 记录分隔符。

如果字节数组(采用 UTF-8 编码)已被压缩和/或加密,那么使用从该字符派生的 byte[] 作为分隔符是否安全?我担心的是加密/压缩输出可能会出于其他目的产生记录分隔符。请注意,单个 byte[] 记录是压缩/加密的,而不是整个流。

我正在使用 Java 8 并使用 Snappy 进行压缩。我还没有选择加密库,但它肯定是更强大的标准私钥方法之一。

0 投票
1 回答
2407 浏览

hadoop - 为什么查询 Parquet 文件比 Hive 中的文本文件慢?

我决定使用 Parquet 作为 hive 表的存储格式,在我实际在集群中实现它之前,我决定运行一些测试。令人惊讶的是,Parquet 在我的测试中速度较慢,而一般认为它比纯文本文件更快。

请注意,我在 MapR 上使用 Hive-0.13

  • Operation1:行计数操作
  • 操作2:单行选择
  • 操作 3:使用 Where 子句进行多行选择 [提取 1000 行]
  • 操作 4:多行选择 [只有 4 列] 使用 Where 子句 [提取 1000 行]
  • Operation5:聚合操作[在给定列上使用 sum 函数]

您可以看到,在我对这两个表应用的几乎所有操作中,Parquet 在执行查询所需的时间方面都落后了,但行计数操作除外。

我还使用表 C 来执行上述操作,但结果几乎与 TextFile 格式相似的行再次是两者中更快的。

有人可以让我知道我做错了什么吗?

谢谢!

编辑

我将 ORC 添加到存储格式列表中并再次运行测试。遵循细节。

行计数操作

文本格式累积 CPU - 123.33 秒

Parquet 格式累积 CPU - 204.92 秒

ORC 格式累积 CPU - 119.99 秒

具有 SNAPPY 累积 CPU 的 ORC - 107.05 秒

列操作的总和

文本格式累积 CPU - 127.85 秒

Parquet 格式累积 CPU - 255.2 秒

ORC 格式累积 CPU - 120.48 秒

具有 SNAPPY 累积 CPU 的 ORC - 98.27 秒

列操作的平均值

文本格式累积 CPU - 128.79 秒

Parquet 格式累积 CPU - 211.73 秒

ORC 格式累积 CPU - 165.5 秒

具有 SNAPPY 累积 CPU 的 ORC - 135.45 秒

使用 where 子句从给定范围中选择 4 列

文本格式累积 CPU - 72.48 秒

Parquet 格式累积 CPU - 136.4 秒

ORC 格式累积 CPU - 96.63 秒

具有 SNAPPY 累积 CPU 的 ORC - 82.05 秒

这是否意味着 ORC 比 Parquet 更快?或者我可以做些什么来使其在查询响应时间和压缩率方面更好地工作?

谢谢!

0 投票
5 回答
65566 浏览

hadoop - Parquet vs ORC vs ORC with Snappy

我正在对 Hive 可用的存储格式进行一些测试,并使用 Parquet 和 ORC 作为主要选项。我在默认压缩中包含一次 ORC,在 Snappy 中包含一次。

我已经阅读了许多文档,其中指出 Parquet 在时间/空间复杂性方面比 ORC 更好,但我的测试与我经历的文档相反。

关注我的数据的一些细节。

就我的桌子的压缩而言,镶木地板是最差的。

我对上述表格的测试产生了以下结果。

行计数操作

列操作的总和

列操作的平均值

使用 where 子句从给定范围中选择 4 列

这是否意味着 ORC 比 Parquet 更快?或者我可以做些什么来使其在查询响应时间和压缩率方面更好地工作?

谢谢!

0 投票
4 回答
13509 浏览

hadoop - Snappy 是可拆分的还是不可拆分的?

根据这篇Cloudera 帖子,Snappy 是可拆分的。

对于 MapReduce,如果您需要压缩数据可拆分,BZip2、LZO 和 Snappy 格式是可拆分的,但 GZip 不是。可拆分性与 HBase 数据无关。

但是从 hadoop 权威指南来看,Snappy 是不可拆分的。 在此处输入图像描述

网上也有一些矛盾的信息。有人说它是可拆分的,有人说它不是。