parquet相关内容

如何读取箭木地板键值元数据?

当我在R和Python中保存拼图文件时(使用pyrow),我得到一个保存在元数据中的箭头架构字符串。 如何读取元数据?它是平面缓冲区编码的数据吗?架构的定义在哪里?它未列在Arrow文档站点上。 元数据是如下所示的键-值对 key: "ARROW:schema" value: "/////5AAAAAQAAAAAAAKAAwABgAFAAgACgAAAAABAwAEAAAAyP ..
发布时间:2022-05-11 21:48:30 其他开发

Spark Dataframe/Parquet中的Enum等效项

我有一个包含数亿行的表,我希望将其存储在Spark的DataFrame中,并作为拼图文件保存在磁盘上。 我的拼图文件大小现在超过2TB,我希望确保已对其进行优化。 这些列中有很大一部分是字符串值,这可能很长,但也通常只有很少的值。例如,我有一列只有两个不同的值(一个是20个字符,一个是30个字符的字符串),还有一个列的字符串平均有400个字符,但所有条目中只有大约400个不同的值。 ..
发布时间:2022-05-11 21:39:37 其他开发

如何在PYTHON中从S3中的PANDA数据帧写入拼图文件

我有一个 pandas 数据帧。我想在S3中将此数据帧写入拼图文件。 我需要一个相同的示例代码。我试着在谷歌上搜索它。但我无法获得有效的示例代码。 推荐答案 首先确保您安装了 pandas 箭或实木地板。 然后安装boto3和AWS cli。使用AWS CLI设置位于.aws文件夹中的配置和凭据文件。 这里有一个简单的脚本,使用pyarrow和boto3创建一个临时拼图文件,然 ..
发布时间:2022-05-11 21:29:18 其他开发

Spark:哪些选项可以与DataFrame.saveAsTable或DataFrameWriter.Options一起传递?

开发人员和API文档都没有任何关于DataFrame.saveAsTable或DataFrameWriter.options可以传递哪些选项的参考,它们会影响配置单元表的保存。 我希望在这个问题的答案中,我们可以汇总一些信息,这些信息将有助于Spark开发人员更好地控制Spark保存表的方式,或许还能为改进Spark的文档提供基础。 推荐答案 您在任何地方都看不到options文 ..
发布时间:2022-05-11 21:18:32 其他开发

可以按块读取镶木地板文件吗?

例如, pandas 的read_csv有一个chunk_size参数,该参数允许read_csv返回CSV文件的迭代器,以便我们可以按块读取该文件。 拼图格式以块的形式存储数据,但是没有像read_csv这样的块来读取数据。 有没有办法分块读取镶木地板文件? 推荐答案 如果您的拼图文件不是使用行组创建的,则READ_ROW_GROUP方法似乎不起作用(只有一个组!)。 ..
发布时间:2022-05-11 21:05:21 其他开发

要缓冲或字节流的拼图编写器

我有一个Java应用程序,可以将JSON消息转换为PARQUET格式。Java中有没有可以写入缓冲区或字节流的拼图写入器?在大多数示例中,我都看到过写入文件。 推荐答案 TLDR;您需要实现OutputFile,例如类似于: 的内容 import org.apache.parquet.io.OutputFile; import org.apache.parquet.io.Posit ..
发布时间:2022-05-08 17:40:36 Java开发

如何在不对时间戳列使用INT96格式的情况下将Spark数据帧保存到拼图?

我有一个Spark DataFrame,我想将其另存为PARQUE,然后使用PARQUE-Avro库加载它。 我的数据帧中有一个时间戳列,它在拼图中被转换为INT96时间戳列。但是拼花-Avrodoes not support INT96格式化和抛出。 有没有办法避免呢?在Avro支持的内容中将时间戳写入拼图时,是否可以更改Spark使用的格式? 我当前使用 date_fr ..
发布时间:2022-04-27 19:05:29 其他开发

如何在Python中读取gzip镶木地板文件

我需要打开一个gzip文件,其中包含一个包含一些数据的拼图文件。我在尝试打印/读取文件中的内容时遇到了很多问题。我尝试了以下操作: with gzip.open("myFile.parquet.gzip", "rb") as f: data = f.read() 这似乎不起作用,因为我收到一个错误,指出我的文件id不是GZ文件。谢谢! 推荐答案 可以使用pandas模 ..
发布时间:2022-03-23 14:38:24 Python

雪花不扣实木地板按柱隔断

我有一个关于Snowflake的新功能-推断模式表函数的问题。推断模式函数在拼图文件上执行得非常出色,并返回正确的数据类型。但是,当拼图文件被分区并存储在S3中时,推断模式的功能与pyspark数据帧不同。 在DataFrames中,分区文件夹名称和值被读取为最后一列;是否有办法在Snowflake推断架构中实现相同的结果? 示例: @GregPavlik-输入采用结构化拼花地板 ..
发布时间:2022-03-10 14:43:15 其他开发

将新数据附加到分区 parquet 文件

我正在编写一个 ETL 过程,我需要读取每小时的日志文件、对数据进行分区并保存它.我正在使用 Spark(在 Databricks 中).日志文件是 CSV,所以我阅读它们并应用模式,然后执行我的转换. 我的问题是,如何将每小时的数据保存为镶木地板格式但附加到现有数据集?保存时,我需要按数据框中存在的 4 列进行分区. 这是我的存档: 数据.filter(validPartnerId ..
发布时间:2022-01-22 11:37:03 其他开发

Parquet 支持的 Hive 表:数组列在 Impala 中不可查询

尽管 Impala 比 Hive 快得多,但我们使用 Hive 是因为它支持复杂(嵌套)数据类型,例如数组和映射. 我注意到 Impala,从 CDH5.5,现在支持复杂数据类型.由于也可以在 Impala 中运行 Hive UDF,我们可能可以在 Impala 中做我们想做的一切,但要快得多.这是个好消息! 当我浏览文档时,我看到 Impala 期望数据以 Parquet 格式存储. ..
发布时间:2021-12-28 23:49:32 其他开发

Parquet vs ORC vs ORC with Snappy

我正在对 Hive 可用的存储格式进行一些测试,并使用 Parquet 和 ORC 作为主要选项.我包括一次默认压缩的 ORC 和一次 Snappy. 我读过很多文档,说 Parquet 在时间/空间复杂度上比 ORC 更好,但我的测试与我浏览过的文档相反. 关注我的数据的一些细节. Table A- 文本文件格式- 2.5GB表 B - ORC - 652MB表 C - 带有 Sn ..
发布时间:2021-12-28 23:32:47 其他开发

Hive 不读取 Spark 生成的分区镶木地板文件

我在 Hive 中读取 Spark 生成的分区镶木地板文件时遇到问题.我可以在 hive 中创建外部表,但是当我尝试选择几行时,hive 只返回一条没有行的“OK"消息. 我能够在 Spark 中正确读取分区的镶木地板文件,因此我假设它们是正确生成的.当我在 hive 中创建一个外部表而不进行分区时,我也可以读取这些文件. 有人有什么建议吗? 我的环境是: 集群 EMR 4 ..
发布时间:2021-12-28 23:24:48 其他开发

在 Parquet 数据上使用 Avro 架构动态创建 Hive 外部表

我正在尝试动态地(没有在 Hive DDL 中列出列名和类型)在镶木地板数据文件上创建一个 Hive 外部表.我有底层镶木地板文件的 Avro 架构. 我尝试使用以下 DDL: 创建外部表 parquet_test行格式 SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'储存为镶木地板位置 'hdfs://myParquetFilesP ..
发布时间:2021-12-28 23:21:24 其他开发

创建 Hive 表以从 parquet/avro schema 读取 parquet 文件

我们正在寻找一种解决方案,以便创建一个外部配置单元表,以根据 parquet/avro 架构从 parquet 文件中读取数据. 换句话说,如何从 parquet/avro schema 生成 hive 表? 谢谢:) 解决方案 尝试以下使用 avro schema: CREATE TABLE avro_test ROW FORMAT SERDE 'org.apache.ha ..
发布时间:2021-12-28 23:17:58 其他开发