问题标签 [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.
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.
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
performance - AvroParquet 阅读速度慢?
我对以不同格式存储的 6Go 数据运行了一些性能基准测试:CSV+Gzip、ParquetAvro+Gzip 和 Parquet+Gzip。我运行了一个简单的 Pig 脚本,它只加载数据并写入一个空输出。测试在相同条件下在同一台机器上运行。结果如下:
- CSV+Gzip:23 分钟
- AvroParquet+Gzip:35 分钟
- Parquet+Gzip:11 分钟
我看到 AvroParquet 的性能不佳,这是意料之中的吗?有没有人遇到过同样的问题?
- - - - - - - - - - - - - - - - - 更新 - - - - - - - - -----------------
对于相同的块,InternalParquetRecordReader 需要更多时间来读取内存中的记录。但是,这只是工作的一小部分。这是我在日志中看到的示例:
实木复合地板:
VS AvroParquet:
parquet - Parquet 是否可以压缩 MR 作业中的摘要文件(_metadata)?
现在我们正在使用 mapreduce 作业来转换数据并将结果以 Parquet 格式存储。
还会生成一个摘要文件 (_metadata)。但问题是它太大(超过5G)。有什么办法可以减小尺寸吗?
scala - Spark:可以使用 DataFrame.saveAsTable 或 DataFrameWriter.options 传递哪些选项?
开发人员和 API 文档都没有包含任何关于可以传入哪些选项的参考,DataFrame.saveAsTable否则DataFrameWriter.options它们会影响 Hive 表的保存。
我希望在这个问题的答案中,我们可以汇总信息,这些信息对希望更多地控制 Spark 保存表的方式的 Spark 开发人员有所帮助,或许还可以为改进 Spark 的文档提供基础。
spark-streaming - Spark Streaming DStream写入镶木地板错误
大家好,我在拼花文件中写入 DStream 时遇到问题。我有这样的结构
它工作正常,但在某些情况下,我得到错误,并且在没有任何信息的情况下创建了镶木地板文件
这是我的日志信息:
但正如我在某些时候已经说过的,所有好的镶木地板都是用收到的信息创建的。我还注意到,如果我将在这部分代码中进行大量计算
错误的数量会增加。
r - Spark DataFrame 的 SparkR collect() 和 head() 错误:参数暗示不同的行数
我从 HDFS 系统中读取了 parquet 文件:
我读过一些关于这个问题的帖子。但这不是我的情况。事实上,我只是从 parquet 文件中读取了一个表,head()或者collect()它。我的拼花桌是这样的:
我正在使用 spark-1.4.0-bin-hadoop2.6 我通过使用在集群上运行它
我在本地也试过了,同样的问题。
我还尝试在 Scala 中读取这个 parquet 文件。并执行 collect() 操作。似乎一切正常。所以这应该是 SparkR 特有的问题
python - 在 Python 中处理 Parquet 文件
我正在尝试在 Python 中处理来自 hive 的镶木地板表并面临一些数据类型问题。例如,如果我的蜂巢镶木地板表中有一个字段
decimal (10,2),当我试图在 python 中读取文件时,它给出了一个垃圾值。请对此提供一些意见。
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
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 格式和相同硬件上更大数据大小的经验是成功的)。
任何建议/提示将不胜感激。