草庐IT

df_output_norm

全部标签

python - 将 PySpark DF 写入专用格式的文件

我正在使用PySpark2.1,我需要想出一种方法将我的数据帧写入专门格式的.txt文件;所以不是典型的json或csv,而是CTF格式(对于CNTK)。该文件不能有额外的括号或逗号等。它遵循以下形式:|labelval|featuresvalvalval...val|labelval|featuresvalvalval...val显示这一点的一些代码可能如下所示:l=[('Ankit',25),('Jalfaizy',22),('saurabh',20),('Bala',26)]rdd=sc.parallelize(l)people=rdd.map(lambdax:Row(name=

hadoop - Apache hive : LOAD DATA vs INSERT OVERWRITE OUTPUT FILE SIZE

我正在使用ApacheHive,我不明白为什么如果我使用INSERTOVERWRITE与LOAD加载数据,表的大小会加倍。问题说明如下:我创建了一个表项从item.dat加载数据(大约28MB)在Azure中发生的是文件item.dat将被移动到hive/warehouse并且当然大小保持不变现在,如果我创建另一个与item相同的表item2,然后使用以下命令将数据从item加载到item2:INSERTOVERWRITETABLEitem2SELECT*FROMitem表item2的大小是item的两倍(大约55MB)为什么会这样?有什么办法可以避免吗?附言。这只是为了说明问题。在实

import - HBase 导出/导入 : Unable to find output directory

我正在为我的应用程序使用HBase,我正在尝试使用org.apache.hadoop.hbase.mapreduce.Export导出数据,因为它是指示here.我面临的问题是,一旦执行了命令,创建导出时就没有错误。但是指定的输出目录并没有出现在它的位置。我使用的命令是$bin/hbaseorg.apache.hadoop.hbase.mapreduce.Exporttable_namedb_dump/ 最佳答案 我得到了解决方案,因此我正在回复我自己的答案hadoop的conf目录下的hadoop-env.sh必须有如下两行exp

hadoop - Java 映射减少 : how to store a list of LONGs in Hadoop Output

我有一个MapReduceJava程序,它输出一个数字列表作为String作为最终输出。但是数量比较长,占用空间太大。我想将每个数字转换为Long并存储。我怎样才能做到这一点? 最佳答案 ArrayWritable可以扩展为publicclassLongArrayWritableextendsArrayWritable{publicLongArrayWritable(){super(Text.class);}publicLongArrayWritable(LongWritable[]values){super(LongWritabl

mongodb - "ERROR 6000, Output location validation failed"在 EMR 上使用 PIG MongoDB-Hadoop 连接器

我在EMR上的pig脚本中收到“输出位置验证失败”异常。将数据保存回S3时失败。我使用这个简单的脚本来缩小问题范围:REGISTER/home/hadoop/lib/mongo-java-driver-2.13.0.jarREGISTER/home/hadoop/lib/mongo-hadoop-core-1.3.2.jarREGISTER/home/hadoop/lib/mongo-hadoop-pig-1.3.2.jarexample=LOAD's3://xxx/example-full.bson'USINGcom.mongodb.hadoop.pig.BSONLoader();S

Hadoop HDFS : input/output error when creating user folder

我已按照Hadoopthedefinitiveguide,4thedition:AppendixA中的说明进行操作在伪分布式模式下配置Hadoop。一切正常,除了我尝试创建目录时:hadoopfs-mkdir-p/user/$USER命令返回以下消息:mkdir:/user/my_user_name':Input/outputerror。虽然,当我第一次登录到我的根帐户sudo-s然后键入hadoopfs-mkdir-p/user/$USER命令时,目录'user/root'被创建(路径中的所有目录)。我想我遇到了Hadoop权限问题。任何帮助将不胜感激,谢谢。

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

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

hadoop - AWS 弹性 map 减少 : output to SimpleDB

将ElasticMapReduce输出导入SimpleDB的最有效方法是什么?我知道我可以将结果输出到S3,下载它们,然后让脚本解析结果并插入到SimpleDB中。但是有没有更简单/更快速的方法可以直接将EMR输出插入SimpleDB(出于时间和效率的原因)? 最佳答案 请参阅以下Amazon入门文档的第12页,其中有一节是关于“将数据存储到AmazonSimpleDB中”:http://awsmedia.s3.amazonaws.com/pdf/introduction-to-amazon-elastic-mapreduce.pd

java - Apache Pig,抑制 "Output Location Validation Failed" "Output directory ... already exists"

在得到orangeoctopus的帮助后thisquestion,我现在需要抑制消息“输出位置验证失败”“输出目录......已经存在”。我知道目录存在,我想要那样。我很确定这将是覆盖我的存储UDF中的某些内容的问题,但我无法弄清楚是什么。对Java完全陌生,所以请多多包涵。提前致谢。 最佳答案 据我所知,您不能重复使用直接输出目录。Hadoop阻止了它。如果我理解正确的话,你正在处理每日日志,因此,我建议你设置一个名为输出的父输出目录,并将脚本中的输出目录设置为output/daily_date。

Hadoop 0.2 : How to read outputs from TextOutputFormat?

我的reducer类使用TextOutputFormat(Job给出的默认OutputFormat)生成输出。我喜欢在MapReduce作业完成后使用此输出来聚合输出。除此之外,我喜欢用TextInputFormat写出聚合信息,以便MapReduce任务的下一次迭代可以使用此过程的输出。谁能给我一个关于如何使用TextFormat进行书写和阅读的示例?顺便说一句,我使用TextFormat而不是Sequence的原因是互操作性。任何软件都应该使用输出。 最佳答案 暂时不要排除序列文件;它们使链接MapReduce作业变得快速和容易