草庐IT

parquet-mr

全部标签

hadoop - 在具有 JSON 数据的 Parquet 文件上创建 Hive 表

我要达到的目标从源大JSON文件中获取数据(employee-sample.json)一个简单的spark应用程序,将其作为文本文件读取并存储在parquet(simple-loader.java)中。我不知道JSON文件中有什么,所以我不能放置任何模式,所以我想要读取模式,而不是写入模式。一个包含一列名为“值”的Parquet文件,其中包含已创建的JSON字符串在parquet文件上创建一个HIVE外部表,当我执行“select*fromtable”时,我看到一列带有JSON数据。我真正需要的是创建一个HIVE表,它可以读取“值”列中的JSON数据并应用架构和发出列,这样我就可以根据

java - 如何为从配置单元 jdbc 查询启动的 mr 作业指定额外的 jar?

我正在尝试通过使用avro存储格式的jdbc查询一个配置单元表,但我在查询产生的mr作业中收到一个类未找到错误。奇怪的是,我可以从配置单元shell运行查询而不会发生异常。我可以运行一个不生成mapreduce作业的查询(select*fromtablelimit10)并且它工作正常。2014-03-1210:23:34,040WARN[main]org.apache.hadoop.mapred.YarnChild:Exceptionrunningchild:java.io.IOException:java.lang.reflect.InvocationTargetExceptiona

Hadoop 2.6.0 官方实例 : Yarn (MR2) much slower than Map Reduce (MR1) in single node setup

我开始玩hadoop2.6.0,根据officialdocumentation搭建了一个伪分布式单节点系统.当我运行简单的MapReduce(MR1)示例(参见“伪分布式操作->执行”)时,总执行时间约为7秒。更准确地说,bash的时间给出:real0m6.769suser0m7.375ssys0m0.400s当我通过Yarn(MR2)运行相同的示例时(参见“伪分布式操作->YARNonSingleNode”),总执行时间约为100sec,因此非常慢。bash的时间给出:real1m38.422suser0m4.798ssys0m0.319s因此,(出于某种原因)在用户空间之外存在大量

hadoop - 将 Hive 分区表存储为 Parquet 时计数器组过多

我创建了一个以id作为其分区的表样本,并将其以parquet格式存储。createtablesample(uuidString,dateString,NameString,EmailIDString,CommentsString,CompanyNameString,countryString,urlString,keywordString,sourceString)PARTITIONEDBY(idString)Storedasparquet;然后我使用下面的命令将值插入其中INSERTINTOTABLEsamplePARTITION(id)Selectuuid,date,Name,Em

hadoop - ORC 或 Parquet 格式的灵活架构?

我的Java应用程序使用实时数据,然后发布到S3上的ORC文件问题在于,在我们处理所有记录之前,我们不知道文件的模式,而不是第一个记录例如:消息1具有属性A和B消息2具有属性A、B和C消息3具有属性A和C因为这是一个实时应用程序,所以我不希望处理所有消息来计算架构,因为那样会很慢是否可以在我们处理数据时添加到架构中?我看过Java示例here但我没有办法Parquet在这里会更好吗? 最佳答案 我认为您可能正试图在方孔中安装圆钉。听起来您正在摄取具有未知架构的事件流,并且您希望以针对已知架构优化的格式存储它。我想您可以在跟踪模式的同

apache-spark - Spark 根据字母分区写入 Parquet

我对这个话题做了很多研究。我有一个3TB大小的数据集。以下是该表的数据架构:root|--user:string(nullable=true)|--attributes:array(nullable=true)||--element:string(containsNull=true)每天,我都会得到一份我需要其属性的用户列表。我想知道我是否可以将上述模式写入包含前2个用户字母的Parquet文件。例如,Omkar|[a,b,c,d,e]Mac|[a,b,c,d,e]Zee|[a,b,c,d,e]Kim|[a,b,c,d,e]Kelly|[a,b,c,d,e]在上面的数据集上,我可以做这

hadoop - 将 parquet-tools 与 Kerberos CDH 结合使用

我正在尝试从parquet文件中发现模式。我尝试使用代码:parquet-toolsschemahdfs://:8020///.parquet但是我得到了错误:SIMPLEauthenticationisnotenabled.Available:[TOKEN,KERBEROS]有谁知道如何在Kerberized环境中使用parquet-tools。我有带权限的keytab,我在knit命令之前运行。 最佳答案 hadoop.security.authentication的配置可以取值SIMPLE或KERBEROS。从你得到的错误来看

hadoop - Hadoop MR 应用程序中 Reducer 的动态数量

提交作业后,有什么方法可以设置reducetask的数量吗?比如我需要根据startalphabet收集英文单词,我可以直接设置reducetasks的数量为26。但是万一出现无法预先确定所需reducer数量的情况,有没有什么办法可以完成要求?这里的要求与集群上的节点数量无关,它只取决于正在处理的键。举例来说,每次遇到新键时,reducer的数量都会增加一个。在此先感谢您的支持。 最佳答案 Isthereanymeanstosetthenumberofreducetasksonceajobissubmitted?没有Forexam

java - 如何计算 MR 作业中 HDFS 中的文件数?

就此而言,我是Hadoop和Java的新手。我正在尝试从我正在编写的MapReduce驱动程序计算HDFS上文件夹中的文件数。我想在不调用HDFSShell的情况下执行此操作,因为我希望能够传入我在运行MapReduce作业时使用的目录。我尝试了很多方法,但由于我对Java的经验不足,都没有成功实现。如有任何帮助,我们将不胜感激。谢谢,游牧。 最佳答案 您可以只使用文件系统并遍历路径内的文件。这是一些示例代码intcount=0;FileSystemfs=FileSystem.get(getConf());booleanrecurs

hadoop - 无法查询 Spark 创建的 Parquet 文件

在Spark中创建了一个parquet文件。这是代码片段parquet_file_name=os.path.join(partition,os.path.basename(fileLocation)+".parquet")dfData=sqlContext.createDataFrame(addedColumns,schema)dfData.save(parquet_file_name,"parquet","append")我可以在Spark中读取文件内容。In[1]:sqlContext=SQLContext(sc)parquetFile=sqlContext.parquetFile