问题标签 [parquet]

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 投票
2 回答
11990 浏览

apache-spark - How to control the number of output part files created by Spark job upon writing?

I am having couple of Spark jobs which processes thousands of files every day. File size may very from MBs to GBs. After finishing job I usually save using the following code

Spark job creates plenty of small part files in final output directory. As far as I understand Spark creates part file for each partition/task please correct me if I am wrong. How do we control amount of part files Spark creates?

Finally, I would like to create Hive table using these parquet/orc directory and I heard Hive is slow when we have large no of small files.

0 投票
4 回答
6889 浏览

scala - Scala 错误:值 registerTempTable 不是 org.apache.spark.sql.SchemaRDD 的成员

我想读一个 Parquet 文件。我在 spark-shell 中编写了这段代码:

通过调用parquetFile.registerTempTable("parquetFile"),出现错误error: value registerTempTable is not a member of org.apache.spark.sql.SchemaRDD 。但是 parquetFile 确实是一个 SchemaRDD,而 registerTempTable 确实是 org.apache.spark.sql.SchemaRDD 的一个函数。我是 Scala 和 Spark 的新手,我不知道原因。任何人都可以帮忙吗?

Spark 版本 1.0.0 Scala 版本 2.10.4

0 投票
0 回答
425 浏览

performance - AvroParquet 阅读速度慢?

我对以不同格式存储的 6Go 数据运行了一些性能基准测试:CSV+Gzip、ParquetAvro+Gzip 和 Parquet+Gzip。我运行了一个简单的 Pig 脚本,它只加载数据并写入一个空输出。测试在相同条件下在同一台机器上运行。结果如下:

  • CSV+Gzip:23 分钟
  • AvroParquet+Gzip:35 分钟
  • Parquet+Gzip:11 分钟

我看到 AvroParquet 的性能不佳,这是意料之中的吗?有没有人遇到过同样的问题?

- - - - - - - - - - - - - - - - - 更新 - - - - - - - - -----------------

对于相同的块,InternalParquetRecordReader 需要更多时间来读取内存中的记录。但是,这只是工作的一小部分。这是我在日志中看到的示例:

实木复合地板:

VS AvroParquet:

0 投票
1 回答
548 浏览

parquet - Parquet 是否可以压缩 MR 作业中的摘要文件(_metadata)?

现在我们正在使用 mapreduce 作业来转换数据并将结果以 Parquet 格式存储。

还会生成一个摘要文件 (_metadata)。但问题是它太大(超过5G)。有什么办法可以减小尺寸吗?

0 投票
6 回答
7419 浏览

scala - Spark:可以使用 DataFrame.saveAsTable 或 DataFrameWriter.options 传递哪些选项?

开发人员和 API 文档都没有包含任何关于可以传入哪些选项的参考,DataFrame.saveAsTable否则DataFrameWriter.options它们会影响 Hive 表的保存。

我希望在这个问题的答案中,我们可以汇总信息,这些信息对希望更多地控制 Spark 保存表的方式的 Spark 开发人员有所帮助,或许还可以为改进 Spark 的文档提供基础。

0 投票
0 回答
927 浏览

spark-streaming - Spark Streaming DStream写入镶木地板错误

大家好,我在拼花文件中写入 DStream 时遇到问题。我有这样的结构

它工作正常,但在某些情况下,我得到错误,并且在没有任何信息的情况下创建了镶木地板文件

这是我的日志信息:

但正如我在某些时候已经说过的,所有好的镶木地板都是用收到的信息创建的。我还注意到,如果我将在这部分代码中进行大量计算

错误的数量会增加。

0 投票
0 回答
764 浏览

r - Spark DataFrame 的 SparkR collect() 和 head() 错误:参数暗示不同的行数

我从 HDFS 系统中读取了 parquet 文件:

我读过一些关于这个问题的帖子。但这不是我的情况。事实上,我只是从 parquet 文件中读取了一个表,head()或者collect()它。我的拼花桌是这样的:

我正在使用 spark-1.4.0-bin-hadoop2.6 我通过使用在集群上运行它

我在本地也试过了,同样的问题。

我还尝试在 Scala 中读取这个 parquet 文件。并执行 collect() 操作。似乎一切正常。所以这应该是 SparkR 特有的问题

0 投票
1 回答
690 浏览

python - 在 Python 中处理 Parquet 文件

我正在尝试在 Python 中处理来自 hive 的镶木地板表并面临一些数据类型问题。例如,如果我的蜂巢镶木地板表中有一个字段

decimal (10,2),当我试图在 python 中读取文件时,它给出了一个垃圾值。请对此提供一些意见。

0 投票
0 回答
109 浏览

cascading - parquet-cascading-不能用作镶木地板的水槽

我们正在尝试将文本文件转换为 hfs 位置的镶木地板文件。但是在创建接收器和低于异常时面临问题。请协助。

代码片段:

公共静态最终字段 INPUT_FIELDS = 新字段(“sample_int”、“sample_str”、“sample_date”、“sample_deci”、“par_key”);
方案 sinkScheme = new ParquetTupleScheme(INPUT_FIELDS); Tap sink = new Hfs(sinkScheme, parqOutputPath);

管道组件 = new Pipe("namecp"); 装配 = 新的每个(装配,新的 UnpackTupleFunction());

Flow flow = new Hadoop2MR1FlowConnector().connect("namecp", inData, sink, assembly);

例外:

线程“main”中的异常 cascading.flow.planner.PlannerException:点击命名:'namecp',不能用作接收器:Hfs [“ParquetTupleScheme [['sample_int','sample_str','sample_date','sample_deci', 'par_key']->[ALL]]"]["/user/cloudera/parquet_hive_cascade"] 在 cascading.flow.planner.FlowPlanner.verifyTaps(FlowPlanner.java:379) 在 cascading.flow.planner.FlowPlanner.verifyAllTaps( FlowPlanner.java:266) at cascading.flow.planner.FlowPlanner.buildFlow(FlowPlanner.java:169) at cascading.flow.FlowConnector.connect(FlowConnector.java:456) at cascading.flow.FlowConnector.connect(FlowConnector.java :445) 在 cascading.flow 的 cascading.flow.FlowConnector.connect(FlowConnector.java:421) 中的 cascading.flow.FlowConnector.connect(FlowConnector.java:270)。FlowConnector.connect(FlowConnector.java:215)

==================================================== ===========================

样本数据:

1|abc-xy|14-12-25|12.34|20150101 2|fbcxy|14-12-05|2.4|20150201 3|fbscxy|14-11-05|0.422|20150301 3|fbscxy|14-11-15 |2.0|20150301

4|fbscxy|14-11-30|42|20150401

0 投票
1 回答
2576 浏览

java - 带有 Parquet 文件的 Hive 中的内存问题

我在 Hadoop 2.6 上运行 Hive 1.2,我已经加载了一个大小为 21GB 的 parquet 表,存储在 HDFS 中,复制因子为 1,在 3 个节点上。我正在运行一个简单的选择查询,它不返回任何行(主要是衡量全表扫描的性能):

但我不断从“ParquetFileReader”(接近仅映射作业的结尾)收到 Java 堆空间内存问题:

java.lang.OutOfMemoryError:在 parquet.hadoop.InternalParquetRecordReader.checkRead(内部ParquetRecordReader.java:127)

虽然数据的总大小为 21GB,但我在所有 3 个节点上共有 31.5GB 的可用内存。我只是想知道 Parquet 文件是否存在高内存消耗问题,并且需要大量内存用于简单/完整扫描,或者这里缺少其他东西。(我对镶木地板文件很陌生,我以前在 ORC 格式和相同硬件上更大数据大小的经验是成功的)。

任何建议/提示将不胜感激。