草庐IT

hadoop - 如何限制配置单元中 Parquet 表的 Parquet 文件尺寸?

我正在尝试在配置单元中创建Parquet表。我可以创建它,但是当我运行analyzetablemytablecomputestatistics时;我得到这个结果:numfiles=800,numrows=10000000,totalSize=18909876rawDataSize=40000000为什么表格由800个文件组成,只有180Mb?还有一个为什么要设置文件个数?我尝试使用SETparquet.block.size=134217728但结果是一样的 最佳答案 reducer的数量决定了parquet文件的数量。检查mapre

apache-spark - PySpark:使用具有 1000 个字段但具有可变列数的行的模式创建 RDD->DF->Parquet

我正在尝试读取一个ElasticSearch索引,它有数百万个文档,每个文档都有可变数量的字段。我有一个模式,其中有1000个字段,每个字段都有自己的名称和类型。现在,当我通过ES-Hadoop连接器创建一个RDD并稍后通过指定模式转换为一个DataFrame时,它没有说-Inputrowdoesn'thaveexpectednumberofvaluesrequiredbytheschema我有几个问题。1.是否有可能有一个RDD/DF的行包含可变数量的字段?如果不是,除了为每列中缺失的字段添加空值外,还有什么替代方法?我看到默认情况下Spark将所有内容转换为StringType,因

hadoop - s3 上的 Spark Dataset Parquet 分区创建临时文件夹

Spark(version=2.2.0)没有DirectParquetOutputCommitter。作为替代方案,我可以使用dataset.option("mapreduce.fileoutputcommitter.algorithm.version","2")//magichere.parquet("s3a://...")避免在S3上创建_temporary文件夹。一切正常,直到我将partitionBy设置为我的数据集dataset.partitionBy("a","b").option("mapreduce.fileoutputcommitter.algorithm.versi

hadoop - Impala:如何查询具有不同模式的多个 Parquet 文件

在Spark2.1中我经常使用类似的东西df=spark.read.parquet(/path/to/my/files/*.parquet)即使具有不同的架构,也可以加载parquet文件的文件夹。然后我使用SparkSQL对数据框执行一些SQL查询。现在我想尝试Impala,因为我阅读了wikiarticle,其中包含如下句子:ApacheImpalaisanopensourcemassivelyparallelprocessing(MPP)SQLqueryenginefordatastoredinacomputerclusterrunningApacheHadoop[...].Re

hadoop - 从 HDFS 收集 Parquet 数据到本地文件系统

给定一个分布在HDFS上的Parquet数据集(元数据文件+可能的.parquet部分),如何正确合并部分并将数据收集到本地文件系统?dfs-getmerge...不起作用-它将元数据与实际的Parquet文件合并.. 最佳答案 有一种涉及ApacheSparkAPI的方法-它提供了一种解决方案,但可能存在不使用第三方工具的更有效的方法。spark>valparquetData=sqlContext.parquetFile("pathToMultipartParquetHDFS")spark>parquet.repartition(

hadoop - 为 scalding 添加 parquet-avro 支持

我如何创建一个ScaldingSource来处理avro和parquet之间的转换。解决方案应该:1.Readfromparquetformatandconverttoavromemoryrepresentation2.Writeavroobjectsintoaparquetfile注意:我注意到Cascading有一个用于利用thrift和parquet的模块。我突然想到,这将是一个开始寻找的好地方。我还在google-groups/scalding-dev上开了一个帖子 最佳答案 试试我们在这个分支中的最新变化-https://

hadoop - 在独立模式下编写 Parquet 文件是可行的..多工作模式失败

在Spark版本1.6.1(代码在Scala2.10中)中,我试图将数据帧写入Parquet文件:importsc.implicits._valtriples=file.map(p=>_parse(p,"",true)).toDF()triples.write.mode(SaveMode.Overwrite).parquet("hdfs://some.external.ip.address:9000/tmp/table.parquet")当我在开发模式下执行时,一切正常。如果我在同一台机器上的docker环境(单独的docker容器)中以独立模式设置一个master和一个worker,

hadoop - 将数据作为 Parquet 从 SQL Server 加载到 S3 - AWS EMR

我们目前在SQLServer中有我们的数据,我们正在尝试将它们作为Parquet文件移动到我们的s3存储桶中。目的是在AWSEMR(主要是Spark、Hive和Presto)中分析这个s3数据。我们不想将数据存储在HDFS中。这里有哪些选择?据我们所知,似乎我们可以使用spark或sqoop进行此导入。虽然在这种情况下sqoop由于并行性(并行数据库连接)比Spark快,但似乎无法将parquet文件从sqoop写入s3-Sqoop+S3+ParquetresultsinWrongFSerror.解决方法是移动到hdfs,然后移动到s3。但是,这似乎效率不高。如何使用SparkSQL从

hadoop - 如何避免 Parquet MemoryManager 异常

我正在从PIG(v0.15.0)脚本生成一些Parquet(v1.6.0)输出。我的脚本采用多个输入源并将它们与一些嵌套连接起来。脚本运行没有错误,但随后在STORE期间我得到的操作:2016-04-1917:24:36,299[PigTezLauncher-0]INFOorg.apache.pig.backend.hadoop.executionengine.tez.TezJob-DAGStatus:status=FAILED,progress=TotalTasks:249Succeeded:220Running:0Failed:1Killed:28FailedTaskAttempt

scala - 使用 Apache Spark 将 MongoDB 数据保存为 parquet 文件格式

我是Apachespark和Scala编程语言的新手。我想要实现的是从我的本地mongoDB数据库中提取数据,然后将其保存在parquetformat中。将ApacheSpark与hadoop连接器结合使用到目前为止,这是我的代码:packagecom.examplesimportorg.apache.spark.{SparkContext,SparkConf}importorg.apache.spark.rdd.RDDimportorg.apache.hadoop.conf.Configurationimportorg.bson.BSONObjectimportcom.mongodb