parquet相关内容

Spark从hive中选择还是从文件中选择更好

我只是想知道人们对从 Hive 读取与从 .csv 文件或 .txt 文件或 .ORC 文件或 .parquet 文件读取有何看法.假设底层 Hive 表是一个具有相同文件格式的外部表,您更愿意从 Hive 表中读取还是从底层文件本身读取,为什么? 迈克 解决方案 tl;dr : 我会直接从镶木地板文件中读取它 我使用的是 Spark 1.5.2 和 Hive 1.2.1对于 ..
发布时间:2021-11-14 22:24:30 其他开发

为什么 Apache Spark 读取嵌套结构中不必要的 Parquet 列?

我的团队正在构建一个 ETL 过程,以使用 Spark 将原始分隔文本文件加载到基于 Parquet 的“数据湖"中.Parquet 列存储的承诺之一是查询只会读取必要的“列条纹". 但是我们看到为嵌套架构结构读取了意外的列. 为了演示,这里是一个使用 Scala 和 Spark 2.0.1 shell 的 POC: //初步设置sc.setLogLevel("信息")导入 org. ..
发布时间:2021-11-14 22:20:56 其他开发

Spark + Parquet + Snappy:spark shuffle 数据后整体压缩率下降

社区! 请帮助我了解如何使用 Spark 获得更好的压缩率? 让我描述一下案例: 我有数据集,我们将其称为 HDFS 上的 产品,它是使用 Sqoop ImportTool 作为镶木地板文件使用编解码器 snappy 导入的.作为导入的结果,我有 100 个文件,总共 46 GB du,文件大小不同(最小 11MB,最大 1.5GB,平均 ~ 500MB).记录总数略高于 80 ..

如何处理火花结构化流中的小文件问题?

我的项目中有一个场景,我正在使用 spark-sql-2.4.1 版本读取 kafka 主题消息.我能够使用结构化流处理这一天.收到数据并进行处理后,我需要将数据保存到 hdfs 存储中的相应镶木地板文件中. 我能够存储和读取镶木地板文件,我将触发时间保持在 15 秒到 1 分钟之间.这些文件非常小,因此导致文件很多. 这些 parquet 文件需要稍后通过 hive 查询读取. ..

如何在 Spark 中读取嵌套集合

我有一张镶木地板,其中一列是 , array> 可以使用 LATERAL VIEW 语法在 Hive 中针对此表运行查询. 如何将这张表读入RDD,更重要的是如何在Spark中对这个嵌套集合进行过滤、映射等操作? 在 Spark 文档中找不到任何对此的引用.提前感谢您提供任何信息! ps.我觉得在桌面上提供一些统计数据可能会有所帮助.主表中的列数 ~600.行数~20 ..

使用 Python 编写 Parquet 文件的方法?

我无法找到允许使用 Python 编写 Parquet 文件的库.如果我可以结合使用 Snappy 或类似的压缩机制,我会加分. 到目前为止,我发现的唯一方法是使用带有 pyspark.sql.DataFrame Parquet 支持的 Spark. 我有一些脚本需要编写非 Spark 作业的 Parquet 文件.是否有任何方法可以在 Python 中编写不涉及 pyspark.sq ..
发布时间:2021-11-14 22:16:10 Python

如何使用 Spark 高效读取多个小型镶木地板文件?有CombineParquetInputFormat 吗?

Spark 生成了多个小型镶木地板文件.如何有效地处理生产者和消费者 Spark 作业上的少量镶木地板文件. 解决方案 import org.apache.hadoop.mapreduce.InputSplit;导入 org.apache.hadoop.mapreduce.RecordReader;导入 org.apache.hadoop.mapreduce.TaskAttemptCont ..

PySpark: org.apache.spark.sql.AnalysisException: 属性名称 ... 在“;"中包含无效字符,;{}()\n\t=".请使用别名重命名

我正在尝试将 Parquet 数据加载到 PySpark 中,其中列的名称中有一个空格: df = spark.read.parquet('my_parquet_dump')df.select(df['Foo Bar'].alias('foobar')) 即使我为该列设置了别名,我仍然收到此错误,并且从 PySpark 的 JVM 端传播错误.我在下面附上了堆栈跟踪. 有没有一种方法可以 ..
发布时间:2021-11-14 22:07:31 Python

查询 Parquet 记录中的嵌套数组

我正在尝试不同的方法来查询记录数组中的记录并显示完整的行作为输出. 我不知道哪个嵌套对象有字符串“pg".但我想查询特定对象.对象是否有“pg".如果“pg"存在,那么我想显示该完整行.如何在不指定对象索引的情况下在嵌套对象上编写“spark sql 查询".所以我不想使用 children.name 的索引 我的 Avro 记录: {"name": "父母","类型":"记录",“ ..

Spark DataFrames with Parquet and Partitioning

我无法找到有关此主题的太多信息,但假设我们使用数据帧读取 10 块的镶木地板文件,spark 自然会创建 10 个分区.但是,当数据帧读入文件进行处理时,它不会处理大数据与分区的比率,因为如果它正在处理未压​​缩的文件,则块大小会更大,这意味着分区也会更大. 所以让我澄清一下,实木复合地板压缩(这些数字并不完全准确).1GB Par = 5 Blocks = 5 Partitions 可以解 ..
发布时间:2021-11-14 21:59:27 其他开发

如何在 Spark 中设置 Parquet 文件编码

Parquet 文档描述了几种不同的编码此处 它在读/写期间是否以某种方式在文件内部发生了变化,或者我可以设置它?Spark 文档中没有任何关于它的内容.仅从 Netflix 团队的 Ryan Blue 的演讲中找到 幻灯片.他将 parquet 配置设置为 sqlContext sqlContext.setConf("parquet.filter.dictionary.enabled", ..
发布时间:2021-11-14 21:59:21 其他开发