Apache Spark 2.0三种API的传说:RDD,DataFrame和Dataset[译]

本文所述内容可以通过Databricks的notebook进行实践

对于开发来说,最具吸引力的是一组API可以使其提高生产力,易于使用,直观和富有表现力。 Apache Spark对开发人员的吸引力在于它对大量数据集操作十分简易,并且跨语言(Scala,Java,Python和R).

本文主要讲解Apache Spark 2.0中RDD,DataFrame和Dataset三种API;它们各自适合的使用场景;它们的性能和优化;列举使用DataFrame和Dataset代替RDD的场景。文章大部分聚焦DataFrame和Dataset,因为在Apache Spark 2.0中这两个API已经统一。

备份namenode的元数据

#!/bin/bash
export dirname=/mnt/tmphadoop/dfs/namesecondary/current/`date +%y%m%d%H`
if [ ! -d ${dirname} ]
then
mkdir  ${dirname}
cp /mnt/tmphadoop/dfs/namesecondary/current/*  ${dirname}
fi
scp -r ${dirname} slave1:/mnt/namenode_backup/
rm -r ${dirname}
|