3.4 Spark RDD Action操作7-saveAsNewAPIHadoopFile、saveAsNewAPIHadoopDataset
来源:互联网 发布:怎么在淘宝上开S音速店 编辑:程序博客网 时间:2024/06/06 03:30
1 saveAsNewAPIHadoopFile
def saveAsNewAPIHadoopFile[F <: OutputFormat[K, V]](path: String)(implicit fm: ClassTag[F]): Unit
def saveAsNewAPIHadoopFile(path: String, keyClass: Class[], valueClass: Class[], outputFormatClass: Class[_ <: OutputFormat[, ]], conf: Configuration = self.context.hadoopConfiguration): Unit
saveAsNewAPIHadoopFile用于将RDD数据保存到HDFS上,使用新版本Hadoop API。
用法基本同saveAsHadoopFile。
例子:
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import SparkContext._
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat
import org.apache.hadoop.io.Text
import org.apache.hadoop.io.IntWritable
var rdd1 = sc.makeRDD(Array((“A”,2),(“A”,1),(“B”,6),(“B”,3),(“B”,7)))
rdd1.saveAsNewAPIHadoopFile(“/tmp/lxw1234/”,classOf[Text],classOf[IntWritable],classOf[TextOutputFormat[Text,IntWritable]])
2 saveAsNewAPIHadoopDataset
def saveAsNewAPIHadoopDataset(conf: Configuration): Unit
作用同saveAsHadoopDataset,只不过采用新版本Hadoop API。
以写入HBase为例:
HBase建表:
create ‘lxw1234′,{NAME => ‘f1′,VERSIONS => 1},{NAME => ‘f2′,VERSIONS => 1},{NAME => ‘f3′,VERSIONS => 1}
完整的Spark应用程序:
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import SparkContext._
import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.mapreduce.Job
import org.apache.hadoop.hbase.mapreduce.TableOutputFormat
import org.apache.hadoop.hbase.io.ImmutableBytesWritable
import org.apache.hadoop.hbase.client.Result
import org.apache.hadoop.hbase.util.Bytes
import org.apache.hadoop.hbase.client.Put
object Test {
def main(args : Array[String]) {
val sparkConf = new SparkConf().setMaster(“spark://lxw1234.com:7077”).setAppName(“lxw1234.com”)
val sc = new SparkContext(sparkConf);
var rdd1 = sc.makeRDD(Array((“A”,2),(“B”,6),(“C”,7)))
sc.hadoopConfiguration.set(“hbase.zookeeper.quorum “,”zkNode1,zkNode2,zkNode3”)
sc.hadoopConfiguration.set(“zookeeper.znode.parent”,”/hbase”)
sc.hadoopConfiguration.set(TableOutputFormat.OUTPUT_TABLE,”lxw1234”)
var job = new Job(sc.hadoopConfiguration)
job.setOutputKeyClass(classOf[ImmutableBytesWritable])
job.setOutputValueClass(classOf[Result])
job.setOutputFormatClass(classOf[TableOutputFormat[ImmutableBytesWritable]])
rdd1.map(
x => {
var put = new Put(Bytes.toBytes(x._1))
put.add(Bytes.toBytes(“f1”), Bytes.toBytes(“c1”), Bytes.toBytes(x._2))
(new ImmutableBytesWritable,put)
}
).saveAsNewAPIHadoopDataset(job.getConfiguration)
sc.stop()
}
}
注意:保存到HBase,运行时候需要在SPARK_CLASSPATH中加入HBase相关的jar包。
- 3.4 Spark RDD Action操作7-saveAsNewAPIHadoopFile、saveAsNewAPIHadoopDataset
- Spark算子:RDD行动Action操作(7)–saveAsNewAPIHadoopFile、saveAsNewAPIHadoopDataset
- Spark算子:RDD行动Action操作(7)–saveAsNewAPIHadoopFile、saveAsNewAPIHadoopDataset
- Spark算子:RDD行动Action操作(7)–saveAsNewAPIHadoopFile、saveAsNewAPIHadoopDataset
- Spark算子:RDD行动Action操作(7)–saveAsNewAPIHadoopFile、saveAsNewAPIHadoopDataset
- Spark算子-RDD Action(saveAsNewAPIHadoopFile)
- 3.4 Spark RDD Action操作1-first、count、lookup、collect
- 3.4 Spark RDD Action操作2-take、top、takeOrdered
- 3.4 Spark RDD Action操作3-聚合-aggregate、fold、reduce
- 3.4 Spark RDD Action操作4-countByKey、foreach、foreachPartition、sortBy
- 3.4 Spark RDD Action操作5-saveAsTextFile、saveAsSequenceFile、saveAsObjectFile
- 3.4 Spark RDD Action操作6-saveAsHadoopFile、saveAsHadoopDataset
- 学习spark:三、RDD的action操作
- spark RDD transformation和action操作
- 【Spark】RDD操作详解4——Action算子
- 【Spark】RDD操作详解4——Action算子
- Spark算子:RDD行动Action操作(6)–saveAsHadoopFile、saveAsHadoopDataset
- Spark总结(三)——RDD的Action操作
- 3.4 Spark RDD Action操作6-saveAsHadoopFile、saveAsHadoopDataset
- 背包问题——动态规划
- 数据算法之瞎扯淡
- java1.4、1.5
- ELA算法用于保险欺诈-伪造照片检测及EXIF信息显示
- 3.4 Spark RDD Action操作7-saveAsNewAPIHadoopFile、saveAsNewAPIHadoopDataset
- Angular 4入门教程系列:6:Tour Of Heroes之服务和依赖注入
- PAT乙级1017. A除以B(20)
- Ubuntu 17.10 已经发布,图解新功能
- 错过等半年 | 年薪30万都要学的Linux云计算课程,即将满80人班
- java2.7
- 区块链中的密码学
- java2.8
- mysql下的多一表多结果的联合查询外加求和