草庐IT

parquet-mr

全部标签

scala - 使用hadoop parquet处理大数据到CSV输出

我有3个数据集,我想加入并分组它们以获得包含聚合数据的CSV。数据作为parquet文件存储在Hadoop中,我使用Zeppelin运行ApacheSpark+Scala进行数据处理。我的数据集如下所示:user_actions.show(10)user_clicks.show(10)user_options.show(10)+--------------------+--------------------+|id|keyword|+--------------------+--------------------+|00000000000000000001|aaaa1||00000

hadoop - 如何为 Titan MR 作业设置 yarn 作业队列

Titan版本是1.0.0无论我尝试过什么,所有yarn应用程序最终都在默认队列中。这些是我试过的东西:1)在titan-hbase-solr.properties中设置属性(以下均无效)mapred.job.queue.name=myqueuemapreduce.job.queue.name=myqueuemapred.mapreduce.job.queue.name=myqueue2)在gremlinshell中设置属性gremlin>graph=TitanFactory.open("/usr/iop/4.2.5.0-0000/titan/conf/titan-hbase-solr

hadoop - 失败 : Execution Error, 在配置单元中的连接操作期间从 org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask​​ 返回代码 2

我正尝试在配置单元中对以下两个表运行连接查询-selectb.locationfromuser_activity_ruleainnerjoinuser_info_rulebwherea.uid=b.uidanda.cancellation=true;QueryID=username_20180530154141_0a187506-7aca-442a-8310-582d335ad78dTotaljobs=1OpenJDK64-BitServerVMwarning:ignoringoptionMaxPermSize=512M;supportwasremovedin8.0Executionl

hadoop - 如何使用MR代码处理hadoop中的单个文件

我有一个文件,其中包含meterid、hour、watts...和其他一些字段。我为每个meterid制作了复合键meterid和hour以及每小时的瓦特总和。MR代码适用于单个文件。我有多个文件,文件名是日期之类的14-05-2015.txt,15-05-2015.txtetc.我执行相同的代码并添加与meterid和小时对应的所有瓦特。但我希望瓦特将为与电表ID和小时相对应的每个文件求和,而不是为所有文件求和。 最佳答案 要轻松解决此问题,您可以在编写的组合键中也包含文件名。这将帮助您在缩减阶段之前对为每个文件单独生成的key进

scala - 无法使用 spark shell 在 hdfs 中创建 Parquet 文件

我想在hdfs中创建parquet文件,然后通过hive将其作为外部表读取。在编写Parquet文件时,我对spark-shell中的阶段失败感到震惊。星火版本:1.5.2斯卡拉版本:2.10.4Java:1.7输入文件:(employee.txt)1201,萨蒂什,25岁1202,克里希纳,28岁1203,阿米斯,39岁1204,贾韦德,231205,普鲁德维,23在Spark-Shell中:valsqlContext=neworg.apache.spark.sql.SQLContext(sc)valhiveContext=neworg.apache.spark.sql.hive.H

hadoop - 动态计算oozie参数(MR Action 的reducer数量)

在我的oozie工作流程中,我动态创建了一个配置单元表,比如T1。此配置单元操作之后是映射减少操作。我想将reducers属性(mapred.reduce.tasks)的数量设置为等于字段的不同值,比如(T1.group)。关于如何动态设置某些oozie参数的值以及如何从hive不同操作获取参数值到oozie参数的任何想法? 最佳答案 希望对您有所帮助:像您已经做的那样创建配置单元表。执行另一个Hive查询,计算列的不同值并将其写入hdfs中的文件。创建一个Shell操作,它将读取文件并以key=value的形式回显值。为shell

hadoop - Hadoop 中的 MR 作业后创建了多少输出文件?

我有一个小于(非常小)默认block大小的文件。我的Mapper的输出是大量的>对(大于20)。我在某处读到,MR作业后生成的输出文件的数量等于reducer的数量,在我的例子中,reducer的数量大于20。但我在输出中得到了一个文件。然后我做了job.setNumReduceTasks(2)希望它会在输出中生成两个文件。但它仍然生成了一个文件。那么我可以得出输出文件数等于block数的结论吗?还有,是否将一个数据block馈送到一个Mapper? 最佳答案 -block-物理分区:HDFS旨在保存和管理大量数据。默认block大

hadoop - 从 Eclipse 发出在 Hadoop 上执行 MR 程序的问题

我在从windows上的eclipe到hadoopPseudocluster上执行mapreduce程序时遇到问题UbuntuVM在同一台机器上运行。我正在运行hadoop1.0.3。我尝试使用eclipseJuno以及使用eclipseplugin1.0.3的Ganymede,但没有成功。每当我将LinuxVM添加为mapreduce位置时,我都会收到连接错误。我也试过像下面这样直接通过配置设置属性,但没有成功。我将其作为java应用程序运行。Configurationconf=newConfiguration();conf.set("fs.default.name","hdfs:/

hadoop - Parquet 行组比文件中预期的太多

我目前正在使用mapreduce编写parquet,我将行组大小配置为256M,hdfsblock大小也设置为256M。输出文件大小约为每个文件1G。所以我应该期望生成的文件中有4个行组。但是当我使用时:parquet-tools元路径/to/my/file|grep“行组”它给了我63个不同大小和行数的行组:rowgroup1:RC:69816TS:244168913rowgroup2:RC:35111TS:117407826rowgroup3:RC:18488TS:60107388rowgroup4:RC:10357TS:33260415rowgroup5:RC:7905TS:24

hadoop - HIVe - 创建表为 - 从现有表创建 Parquet 表时出错

我使用CTAS从现有表(订单)创建了一个Parquet表(orders_parquet),如下所示:CREATETABLEorders_parquetROWFORMATSERDE'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'STOREDASINPUTFORMAT'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.parquet.MapredParquetO