Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何在蜂巢、黑斑羚或Spark中转换数据?_Hadoop_Apache Spark_Hive_Transpose - Fatal编程技术网

Hadoop 如何在蜂巢、黑斑羚或Spark中转换数据?

Hadoop 如何在蜂巢、黑斑羚或Spark中转换数据?,hadoop,apache-spark,hive,transpose,Hadoop,Apache Spark,Hive,Transpose,这是我在SAS中熟悉的方式 data long1 ; input famid year faminc ; cards ; 1 96 40000 1 97 40500 1 98 41000 2 96 45000 2 97 45400 2 98 45800 3 96 75000 3 97 76000 3 98 77000 ; run; proc transpose data=long1 out=wide1 prefix=faminc; by famid ;

这是我在SAS中熟悉的方式

data long1 ; 
  input famid year faminc ; 
cards ; 
1 96 40000 
1 97 40500 
1 98 41000 
2 96 45000 
2 97 45400 
2 98 45800 
3 96 75000 
3 97 76000 
3 98 77000 
; 
run;

proc transpose data=long1 out=wide1 prefix=faminc;
    by famid ;
    id year;
    var faminc;
run;

proc print data = wide1;
run;

Obs    famid    _NAME_    faminc96    faminc97    faminc98

 1       1      faminc      40000       40500       41000
 2       2      faminc      45000       45400       45800
 3       3      faminc      75000       76000       77000
如何使用蜂巢/黑斑羚或Spark实现类似的功能? 这里的关键点是,在转置后将成为列的唯一行值没有提前定义。 本质上,当年份为x时,我不能使用一系列的
案例,然后faminc else 0
,因为有一次我可以有某些年份值,有时我可以有其他年份值,并且不是所有的famid都有全年值。

我找到了这个

pivot操作符已添加到Spark dataframe API,是Spark 1.6的一部分

有关详细信息,请参阅