小编Ind*_*ain的帖子

如何在HDFS中将数据帧中的数据写入单个.parquet文件(单个文件中的数据和元数据)?

如何在HDFS中将数据帧中的数据写入单个.parquet文件(单个文件中的数据和元数据)?

df.show() --> 2 rows
+------+--------------+----------------+
| name|favorite_color|favorite_numbers|
+------+--------------+----------------+
|Alyssa| null| [3, 9, 15, 20]| | Ben| red| []|
+------+--------------+----------------+
Run Code Online (Sandbox Code Playgroud)

df.rdd.getNumPartitions() -它有1个分区

>>> df.rdd.getNumPartitions()
Run Code Online (Sandbox Code Playgroud)

1个

df.write.save("/user/hduser/data_check/test.parquet", format="parquet")
Run Code Online (Sandbox Code Playgroud)

如果我使用上面的命令在HDFS中创建镶木地板文件,则它是在该目录"payloads.parquet"HDFS和该目录中创建目录的多个.parquet文件,元数据文件正在保存。

找到4项

-rw-r--r-- 3 bimodjoul biusers 0 2017-03-15 06:47 
/user/hduser/data_check/test.parquet/_SUCCESS 
-rw-r--r-- 3 bimodjoul biusers 494 2017-03-15 06:47
/user/hduser/data_check/test.parquet/_common_metadata
-rw-r--r-- 3 bimodjoul biusers 862 2017-03-15 06:47
/user/hduser/data_check/test.parquet/_metadata 
-rw-r--r-- 3 bimodjoul biusers 885 2017-03-15 06:47
/user/hduser/data_check/test.parquet/part-r-00000-f83a2ffd-38bb-4c76-9f4c-357e43d9708b.gz.parquet
Run Code Online (Sandbox Code Playgroud)

如何将数据帧中的数据写入单个.parquet文件(单个文件中的数据和元数据)HDFS而不是包含多个文件的文件夹中?

帮助将不胜感激。

biginsights apache-spark apache-spark-sql pyspark pyspark-sql

6
推荐指数
1
解决办法
2581
查看次数

导入org.apache.hadoop.mapreduce无法解析

我正在尝试执行以下代码

package test;

import java.io.IOException;

import java.util.*;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.conf.*;

import org.apache.hadoop.io.*;

import org.apache.hadoop.util.*;

import org.apache.hadoop.mapreduce.Mapper;

import org.apache.hadoop.mapreduce.Reducer;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.conf.Configured;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;



public class Diction {

    public static class WordMapper extends Mapper<Text,Text,Text,Text>
    {
         private Text word = new Text();
            public void map(Text key, Text value, Context context) throws IOException, InterruptedException
            {
                StringTokenizer itr = new StringTokenizer(value.toString(),",");
                while (itr.hasMoreTokens())
                {
                    word.set(itr.nextToken());
                    context.write(key, word);
                }
    }

}
 public static class AllTranslationsReducer

    extends Reducer<Text,Text,Text,Text>
    {
        private …
Run Code Online (Sandbox Code Playgroud)

hadoop hive mapreduce hadoop-plugins hadoop-streaming

2
推荐指数
2
解决办法
3万
查看次数