问题标签 [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 - 使用反射将 pojo 写入镶木地板文件
嗨,正在寻找 API 来使用我拥有的 Pojos 编写 parquest。我能够使用反射生成 avro 架构,然后使用 AvroSchemaConverter 创建镶木地板架构。此外,我无法找到将 Pojos 转换为 GenericRecords (avro) 的方法,否则我本可以使用 AvroParquetWriter 将 Pojos 写入镶木地板文件。有什么建议么 ?
import - Sqoop 导入 Parquet java.lang.NoClassDefFoundError: org/kitesdk/data/mapreduce/DatasetKeyOutputFormat 错误
我已经从git hub克隆了 sqoop 项目,并在 windows 7 中使用 build.xml 使用 ant 创建 sqoop-1.4.6-SNAPSHOT.jar 并将其部署/usr/lib/sqoop
在 cdh5 环境中,但是当我运行 sqoop import 命令时,我得到以下信息堆栈跟踪中的错误:
我做错什么了吗?使用 windows 构建项目是错误的,我需要添加额外的 jars 吗?
- 我已经在 sqoop/lib 中部署了所有的 kite sdk jar。
- 将 kite sdk 添加到 hadoop_classpath。
indexing - 实木复合地板索引
我希望能够对 Parquet 表进行快速范围查询。与总大小相比,要返回的数据量非常小,但是因为必须执行全列扫描,所以对于我的用例来说太慢了。
使用索引可以解决这个问题,我读到这将在 Parquet 2.0 中添加。但是,我找不到任何其他信息,所以我猜它不是。如果对数据进行了排序,我认为不会有任何基本障碍阻止添加(多列)索引,在我的情况下是这样。
我的问题是:何时将索引添加到 Parquet,这样做的高级设计是什么?我想我已经对指出正确分区的索引感到满意了。
亲切的问候,
舍尔德。
hadoop - 如何在我当前的架构中使用 Parquet?
我当前的系统就是以这种方式构建的。
日志解析器每 5 分钟解析一次原始日志,格式为 TSV,并输出到 HDFS。我从 HDFS 的 TSV 文件中创建了 Hive 表。
从一些基准测试中,我发现 Parquet 最多可以节省 30-40% 的空间使用量。我还发现我可以从 Hive 0.13 开始从 Parquet 文件创建 Hive 表。我想知道是否可以将 TSV 转换为 Parquet 文件。
任何建议表示赞赏。
scala - 如何在 Spark 中将 parquet 文件拆分为多个分区?
所以我只有 1 个我正在用 Spark 读取的镶木地板文件(使用 SQL 的东西),我希望用 100 个分区来处理它。我尝试设置spark.default.parallelism
为 100,我们还尝试将镶木地板的压缩更改为无(来自 gzip)。无论我们做什么,火花作业的第一阶段都只有一个分区(一旦发生洗牌,它就会重新分区为 100,然后显然事情要快得多)。
现在根据一些消息来源(如下所示)镶木地板应该是可拆分的(即使使用 gzip!),所以我非常困惑,希望得到一些建议。
我使用的是 spark 1.0.0,显然默认值为spark.sql.shuffle.partitions
200,所以不能这样。事实上,并行度的所有默认值都远大于 1,所以我不明白发生了什么。
scala - 将 Scala 对象写入 Parquet 的最佳方法是什么?
我有一个从 JSON 创建的 Scala 案例类,比如案例类 Person(age:Int, name:String)。我知道我无法将 JSON 写入 Parquet。
我可以将案例类直接写入 Parquet,还是需要使用其他格式,如 Scrooge/Thrift 或 Avro?哪些 API 最适合用于此目的?
mapreduce - 如何过滤hadoop mapreduce中的任何列镶木地板
我将数据以镶木地板格式存储在 hdfs 中。我写 mapred 来运行这个数据成功,我想过滤 map 中的任何列输入,
如何在hadoop mapreduce中过滤任何colum parquet
hadoop - 为 AvroParquetInputFormat 设置多个 projectionSchemas 的问题
我使用 AvroParquetInputFormat。用例需要扫描多个输入目录,并且每个目录将包含具有一个模式的文件。由于 AvroParquetInputFormat 类无法处理多个输入模式,因此我通过静态创建多个虚拟类(如 MyAvroParquetInputFormat1、MyAvroParquetInputFormat2 等)创建了一个解决方法,其中每个类仅继承自 AvroParquetInputFormat。对于每个目录,我设置了不同的 MyAvroParquetInputFormat 并且有效(请告诉我是否有更简洁的方法来实现这一点)。
我目前的问题如下:
每个文件有几百列,基于元数据,我为每个目录构建了一个 projectionSchema,以减少不必要的磁盘和网络 IO。我在每个 MyAvroParquetInputFormat 类上使用静态 setRequestedProjection() 方法。但是,由于是静态的,最后一次调用的 projectionSchema 用于从所有目录读取数据,这不是必需的行为。
任何指向变通办法/解决方案的指针都将受到高度赞赏。
感谢和问候
MK
hive - Parquet Hive 表中的模式演变
我在基于 Parquet 的 Hive 表(Hive 版本 0.10)中有很多数据。我必须在表中添加一些新列。我希望新列有数据。如果已经加载的数据的值为 NULL,那对我来说很好。
如果我添加新列而不更新旧 Parquet 文件,则会出现错误并且看起来很奇怪,因为我只添加了String列。
获取行数据时出错 java.lang.UnsupportedOperationException:无法检查 java.util.ArrayList
你能告诉我如何在不影响表中现有数据的情况下向 Parquet Hive 添加新字段吗?
我使用 Hive 0.10 版。
谢谢。
java - 如何在 Hadoop map/reduce 的映射器中写入多个文件?
我有一个没有任何reducer 的map reduce 作业,它解析输入文件并在Parquet 格式的mapper 中将一些输出写入磁盘。由于这项工作可以从多个文件夹中获取文件作为输入(每个日期一个文件夹),我还希望将输出拆分为文件夹,例如:
我查看了文档中的 MultipleOutput 格式类,但它似乎只能在 reduce 部分的几个文件夹中写入。
不知何故,写入同一个目录中的多个文件是可行的,但是一旦我尝试写入多个目录,就会出现异常(可能是因为某些映射器试图同时创建同一个目录?)。
仅供参考,我的代码在映射器中看起来像这样:
我这样定义输出格式:
我得到的例外是:
你知道我想做的事是否可行吗?我究竟做错了什么?谢谢 !