草庐IT

parquet-mr

全部标签

hadoop - 如何将 HBase 表以 Parquet 格式移动到 HDFS?

我必须构建一个工具,以parquet格式处理从HBase(HFiles)到HDFS的数据存储。请建议将数据从HBase表移动到Parquet表的最佳方法之一。我们必须将4亿条记录从HBase迁移到Parquet。如何实现这一目标以及移动数据的最快方式是什么?提前致谢。问候,帕迪普夏尔马。 最佳答案 请查看此项目tmalaska/HBase-ToHDFS它读取HBase表并将其写为Text、Seq、Avro或ParquetParquet的用法示例:ExportsthedatatoParquethadoopjarHBaseToHDFS.

java - 如何在 Java 中为 Hadoop 作业的 ParquetOutputFormat 定义 Parquet 模式?

我在java中有一个Hadoop作业,它具有序列输出格式:job.setOutputFormatClass(SequenceFileOutputFormat.class);我想改用Parquet格式。我试图以天真的方式设置它:job.setOutputFormatClass(ParquetOutputFormat.class);ParquetOutputFormat.setOutputPath(job,output);ParquetOutputFormat.setCompression(job,CompressionCodecName.GZIP);ParquetOutputFormat

r - 库中的错误(功能): there is no package called ‘functional’ - While running MR using rmr2

我正在尝试在单节点Hadoop集群中使用rmr2运行一个简单的MR程序。这里是设置的环境Ubuntu12.04(32位)R(Ubuntu自带2.14.1,所以更新到3.0.2)从here安装了最新的rmr2和rhdfs以及对应的依赖Hadoop1.2.1现在我正在尝试运行一个简单的MR程序作为Sys.setenv(HADOOP_HOME="/home/training/Installations/hadoop-1.2.1")Sys.setenv(HADOOP_CMD="/home/training/Installations/hadoop-1.2.1/bin/hadoop")libra

hadoop - Spark vs MapReduce,为什么Spark比MR快,原理?

据我所知,Spark将每个节点的磁盘(HDFS)中的数据预加载到每个节点的RDD中进行计算。但正如我猜测的那样,MapReduce必须还将数据从HDFS加载到内存,然后在内存中进行计算。那么..为什么Spark更快速?仅仅因为当MapReduce想要进行计算而Spark预加载数据时,MapReduce每次都将数据加载到内存中?非常感谢。 最佳答案 Spark使用弹性分布式数据集(RDD)的概念,它允许透明地将数据存储在内存中,并在需要时将其保存到磁盘。另一方面,在Mapreduce中,在Map和reduce任务之后数据将被洗牌和排序

hadoop - Parquet-MR AvroParquetWriter - 如何将数据转换为 Parquet(使用特定映射)

我正在开发一种工具,用于将数据从本地格式转换为Parquet和JSON(用于Spark、Drill和MongoDB的不同设置),使用带有特定映射的Avro作为垫脚石。我必须支持定期在客户端机器上转换新数据,这就是为什么我尝试使用(Avro|Parquet|JSON)开关编写自己的独立转换工具,而不是使用Drill或Spark或其他工具作为转换器如果这是一次性工作,我可能会这样做。我将整个事情都基于Avro,因为这似乎是在一个引擎盖下转换为Parquet和JSON的最简单方法。我使用特定映射从静态类型检查中获益,编写了一个IDL,将其转换为schema.avsc,生成类并使用特定构造函数

java - 使用 Java API 将 Parquet 格式写入 HDFS,而不使用 Avro 和 MR

通过直接创建Pojo的ParquetSchema将ParquetFormat写入HDFS(使用JavaAPI)的简单方法是什么,无需使用avro和MR?我发现的示例已过时并且使用了已弃用的方法也使用了Avro、spark或MR之一。 最佳答案 实际上,没有很多示例可用于在没有外部框架帮助的情况下读取/写入Apacheparquet文件。核心parquet库是parquet-column,您可以在其中找到一些直接读取/写入的测试文件:https://github.com/apache/parquet-mr/blob/master/pa

java - 无法编译 Parquet 工具

我从thislink克隆了parquet-mr的存储库.我想按照说明构建parquet-toolshere:cdparquet-mr/parquet-tools/mvncleanpackage-Plocal(我更新了pom.xml以指向正确版本的com.twitter:parquet-hadoop:jar)这是我得到的编译错误:[ERROR]COMPILATIONERROR:[INFO]-------------------------------------------------------------[ERROR]/usr/local/parquet-mr-master/parq

hadoop - 通过 Vertica 查询 Parquet 数据(Vertica Hadoop Integration)

所以我有一个包含三个节点的Hadoop集群。Vertica位于集群上。HDFS上有Parquet文件(由Hive分区)。我的目标是使用Vertica查询这些文件。现在我所做的是使用HDFS连接器,基本上是在Vertica中创建一个外部表,然后将其链接到HDFS:CREATEEXTERNALTABLEtableName(columns)ASCOPYFROM"hdfs://hostname/...../data"PARQUET;由于数据量很大。这种方法不会获得良好的性能。我做了一些研究,VerticaHadoopIntegration我已经尝试过HCatalog,但我的Hadoop上存在一

scala - 获取 HDFS 中 Parquet 文件的大小,以便在 Scala 中使用 Spark 进行重新分区

我在HDFS上有许多parquet文件目录,每个目录包含几千个小的(大多数使用以下代码,我可以将本地parquet文件重新分区为更少的部分:valpqFile=sqlContext.read.parquet("file:/home/hadoop/data/file.parquet")pqFile.coalesce(4).write.save("file:/home/hadoop/data/fileSmaller.parquet")但我不知道如何通过Scala代码以编程方式获取HDFS上目录的大小,因此我无法计算出要传递给coalesce函数的分区数真实数据集。我该怎么做?或者在Spar

java - 如何将数据附加到现有的 Parquet 文件

我正在使用以下代码创建ParquetWriter并将记录写入其中。ParquetWriterparquetWriter=newParquetWriter(path,writeSupport,CompressionCodecName.SNAPPY,BLOCK_SIZE,PAGE_SIZE);finalGenericRecordrecord=newGenericData.Record(avroSchema);parquetWriter.write(record);但它只允许创建新文件(在指定路径)。有没有办法将数据附加到现有的Parquet文件(在路径中)?在我的情况下缓存parquetW