SparkSQL数据加载和保存实战教案.docVIP

  • 7
  • 0
  • 约9.89千字
  • 约 8页
  • 2017-09-08 发布于湖北
  • 举报
Spark SQL数据加载和保存实战 一:前置知识详解: Spark SQL重要是操作DataFrame,DataFrame本身提供了save和load的操作, Load:可以创建DataFrame, Save:把DataFrame中的数据保存到文件或者说与具体的格式来指明我们要读取的文件的类型以及与具体的格式来指出我们要输出的文件是什么类型。 二:Spark SQL读写数据代码实战: import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.Function; import org.apache.spark.sql.*; import org.apache.spark.sql.types.DataTypes; import org.apache.spark.sql.types.StructField; import org.apache.spark.sql.types.StructType; import java.util.ArrayList; import java.util.List; public class SparkSQLLoadSaveOps { public static void main(String[] args) { SparkConf conf = new SparkConf().setMaster(local).setAppName(SparkSQLLoadSaveOps); JavaSparkContext sc = new JavaSparkContext(conf); SQLContext = new SQLContext(sc); /** * read()是DataFrameReader类型,load可以将数据读取出来 */ DataFrame peopleDF = sqlContext.read().format(json).load(E:\\Spark\\Sparkinstanll_package\\Big_Data_Software\\spark-1.6.0-bin-hadoop2.6\\examples\\src\\main\\resources\\people.json); /** * 直接对DataFrame进行操作 * Json: 是一种自解释的格式,读取Json的时候怎么判断其是什么格式? * 通过扫描整个Json。扫描之后才会知道元数据 */ //通过mode来指定输出文件的是append。创建新文件来追加文件 peopleDF.select(name).write().mode(SaveMode.Append).save(E:\\personNames); } } 读取过程源码分析如下: 1. read方法返回DataFrameReader,用于读取数据。 /** * :: Experimental :: * Returns a [[DataFrameReader]] that can be used to read data in as a [[DataFrame]]. * {{{ * sqlContext.read.parquet(/path/to/file.parquet) * sqlContext.read.schema(schema).json(/path/to/file.json) * }}} * * @group genericdata * @since 1.4.0 */ @Experimental //创建DataFrameReader实例,获得了DataFrameReader引用 def read: DataFrameReader = new DataFrameReader(this) 2. 然后再调用DataFrameReader类中的format,指出读取文件的格式。 /** * Specifies the input data source format. * * @since 1.4.0 */ def format(source: String): DataFrameReader =

文档评论(0)

1亿VIP精品文档

相关文档