网站开发所需要的知识,c2c代表平台有哪些,哪个网站做美食视频软件,文化共享工程网站建设情况Spark SQL是用于结构化数据处理的Spark模块。与基本的Spark RDD API不同#xff0c;Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。在内部#xff0c;Spark SQL使用这些额外的信息来执行额外的优化。
与Spark SQL交互的方法有多种#xff0c;包…Spark SQL是用于结构化数据处理的Spark模块。与基本的Spark RDD API不同Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。在内部Spark SQL使用这些额外的信息来执行额外的优化。
与Spark SQL交互的方法有多种包括SQL和Dataset API。计算结果时将使用相同的执行引擎而与要用来表达计算的API /语言无关。 一、SparkSession
SparkSession类是Spark中所有功能的入口点。要创建一个基本的SparkSession只需使用SparkSession.builder()创建。 SparkSession spark SparkSession.builder().appName(Spark SQL).master(local[4]).getOrCreate();
二、Dataset
Dataset是数据的分布式集合。数据集是Spark 1.6中添加的新接口它具有RDD的优点强类型输入使用强大的lambda函数的能力以及Spark SQL的优化执行引擎的优点。Dataset可以被构造从JVM对象然后使用功能性的转换操作mapflatMapfilter等等。
Dataset API在Scala和 Java中可用。Python不支持Dataset API。但是由于Python的动态特性Dataset API的许多优点已经可用即您可以自然地通过名称访问行的字段 row.columnName。R的情况与此类似。
DataFrame是数据格式为Row的Dataset。从概念上讲它等效于关系数据库中的表或R / Python中的数据框但是在后台进行了更丰富的优化。可以从多种来源构造DataFrame例如结构化数据文件Hive中的表外部数据库或现有的RDD。DataFrame API在ScalaJavaPython和R中可用。在Scala和Java中DataFrame由的数据集表示Row。在Scala API中DataFrame只是类型别名Dataset[Row]。而在Java API中用户需要使用DatasetRow来代表DataFrame。
在整个文档中我们通常将的Scala / Java的DatasetRow称为DataFrames。
DatasetRow df spark.read().json(/test.json);