首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SparkSql官方文档中文翻译(java版本)

,编程创建DataFrame分为三步: 从原来的RDD创建一个Row格式的RDD 创建与RDD中Rows结构匹配的StructType,通过该StructType创建表示RDD的Schema 通过SQLContext...在分区的表内,数据通过分区列将数据存储在不同的目录下。Parquet数据源现在能够自动发现并解析分区信息。...3.3 JSON数据集 Spark SQL能自动解析JSON数据集的Schema,读取JSON数据集为DataFrame格式。读取JSON数据集方法为SQLContext.read().json()。...该方法将String格式的RDD或JSON文件转换为DataFrame。 需要注意的是,这里的JSON文件不是常规的JSON格式。JSON文件每一行必须包含一个独立的、自满足有效的JSON对象。...使用JdbcRDD时,Spark SQL操作返回的DataFrame会很方便,也会很方便的添加其他数据源数据。

9.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

    grouping columns(分组的列) DataFrame.withColumn 上的行为更改 从 Spark SQL 1.0-1.2 升级到 1.3 重命名 DataFrame 的...RDD的互操作性 Spark SQL 支持两种不同的方法用于转换已存在的 RDD 成为 Dataset.第一种方法是使用反射去推断一个包含指定的对象类型的 RDD 的 Schema.在你的 Spark...使用反射推断Schema Scala Java Python Spark SQL 的 Scala 接口支持自动转换一个包含 case classes 的 RDD 为 DataFrame.Case...从 1.6.1 开始,在 sparkR 中 withColumn 方法支持添加一个新列或更换 DataFrame 同名的现有列。...从 1.4 版本开始,DataFrame.withColumn() 支持添加与所有现有列的名称不同的列或替换现有的同名列。

    26.1K80

    大数据技术Spark学习

    从 API 易用性的角度上看,DataFrame API 提供的是一套高层的关系操作,比函数式的 RDD API 要更加友好,门槛更低。...而右侧的 DataFrame 却提供了详细的结构信息,使得 Spark SQL 可以清楚地知道该数据集中包含哪些列,每列的名称和类型各是什么。DataFrame 多了数据的结构信息,即 schema。...RDD 进行转换,还可以从 Hive Table 进行查询返回,或者通过 Spark 的数据源进行创建。...3.5.1 通过反射的方式获取 Scheam Spark SQL 能够自动将包含有 case 类的 RDD 转换成 DataFrame,case 类定义了 table 的结构,case 类属性通过反射变成了表的列名...在分区的表内,数据通过分区列将数据存储在不同的目录下。Parquet 数据源现在能够自动发现并解析分区信息。

    5.3K60

    原 荐 SparkSQL简介及入门

    3)Shark     其中Shark是伯克利实验室Spark生态环境的组件之一,它基于Hive实施了一些改进,比如引入缓存管理,改进和优化执行器等,并使之能运行在Spark引擎上,从而使得SQL查询的速度得到...3)内嵌了查询优化框架,在把SQL解析成逻辑执行计划之后,最后变成RDD的计算。 二、列存储相关     为什么sparkSQL的性能会得到怎么大的提升呢?     ...RDD.toDF(“列名”) scala> val rdd = sc.parallelize(List(1,2,3,4,5,6)) rdd: org.apache.spark.rdd.RDD[Int]...= ParallelCollectionRDD[0] at parallelize at :21 scala> rdd.toDF("id") res0: org.apache.spark.sql.DataFrame...scala>val sqc=new SQLContext(sc) scala> val tb4=sqc.read.json("/home/software/people.json") scala> tb4

    2.5K60

    【Spark研究】用Apache Spark进行大数据处理第二部分:Spark SQL

    这一版本中包含了许多新的功能特性,其中一部分如下: 数据框架(DataFrame):Spark新版本中提供了可以作为分布式SQL查询引擎的程序化抽象DataFrame。...通过调用将DataFrame的内容作为行RDD(RDD of Rows)返回的rdd方法,可以将DataFrame转换成RDD。...可以通过如下数据源创建DataFrame: 已有的RDD 结构化数据文件 JSON数据集 Hive表 外部数据库 Spark SQL和DataFrame API已经在下述几种程序设计语言中实现: Scala...可以在用HiveQL解析器编写查询语句以及从Hive表中读取数据时使用。 在Spark程序中使用HiveContext无需既有的Hive环境。...val custNames = sqlContext.sql("SELECT name FROM customers") // SQL查询的返回结果为DataFrame对象,支持所有通用的RDD操作。

    3.3K100

    SparkSQL极简入门

    3)Shark 其中Shark是伯克利实验室Spark生态环境的组件之一,它基于Hive实施了一些改进,比如引入缓存管理,改进和优化执行器等,并使之能运行在Spark引擎上,从而使得SQL查询的速度得到...但是,随着Spark的发展,对于野心勃勃的Spark团队来说,Shark对于hive的太多依赖(如采用hive的语法解析器、查询优化器等等),制约了Spark的One Stack rule them all...如果读取的数据列属于相同的列族,列式数据库可以从相同的地方一次性读取多个数据列的值,避免了多个数据列的合并。列族是一种行列混合存储模式,这种模式能够同时满足OLTP和OLAP的查询需求。...[0] at parallelize at :21scala> rdd.toDF("id")res0: org.apache.spark.sql.DataFrame = [id: int...sc)scala> val tb4=sqc.read.json("/home/software/people.json")scala> tb4.show ?

    3.9K10

    慕课网Spark SQL日志分析 - 5.DateFrame&Dataset

    1.如果想使用SparkRDD进行编程,必须先学习Java,Scala,Python,成本较高 2.R语言等的DataFrame只支持单机的处理,随着Spark的不断壮大,需要拥有更广泛的受众群体利用...(RDD with Schema) - 以列(列名、列的类型、列值)的形式构成的分布式数据集,依据列赋予不同的名称 It is conceptually equivalent to a table in...image.png 3.DataFrame和RDD的对比 RDD:分布式的可以进行并行处理的集合 java/scala ==> JVM python ==> python runtime DataFrame...他还能支持一下复杂的数据结构。 java/scala/python ==> logic plan 从易用的角度来看,DataFrame的学习成本更低。...").master("local[2]").getOrCreate() // 将json文件加载成一个dataframe val peopleDF = spark.read.format("json"

    69610

    SparkR:数据科学家的新利器

    目前SparkR的DataFrame API已经比较完善,支持的创建DataFrame的方式有: 从R原生data.frame和list创建 从SparkR RDD创建 从特定的数据源(JSON和Parquet...格式的文件)创建 从通用的数据源创建 将指定位置的数据源保存为外部SQL表,并返回相应的DataFrame 从Spark SQL表创建 从一个SQL查询的结果创建 支持的主要的DataFrame操作有:...", "AverageAge") sqlCtx <- sparkRSQL.init(sc) #从当前目录的一个JSON文件创建DataFrame df json...从这里可以看出,与Scala RDD API相比,SparkR RDD API的实现多了几项开销:启动R worker进程,将分区数据传给R worker和R worker将结果返回,分区数据的序列化和反序列化...当然,DataFrame API还包含了一些RDD API,这些RDD API方法的实现是先将DataFrame转换成RDD,然后调用RDD 的相关方法。

    4.1K20

    Databircks连城:Spark SQL结构化数据分析

    从API易用性的角度上看,DataFrame API提供的是一套高层的关系操作,比函数式的RDD API要更加友好,门槛更低。...而右侧的DataFrame却提供了详细的结构信息,使得Spark SQL可以清楚地知道该数据集中包含哪些列,每列的名称和类型各是什么。...然而,不同版本的JSON数据往往具有不同的schema(例如新版本的Twitter API返回的数据可能比老版本的API返回的数据多出若干列)。...下图对比了用Scala、Python的RDD API和DataFrame API实现的累加一千万整数对的四段程序的性能对比。...通过SQL/HiveQl parser或是DataFrame API构造的逻辑执行计划经过analyzer的分析之后再经优化得到优化执行计划,接着再转为物理执行计划,并最终转换为RDD DAG在Spark

    1.9K101

    Spark SQL,DataFrame以及 Datasets 编程指南 - For 2.0

    Spark SQL 也支持从 Hive 中读取数据,如何配置将会在下文中介绍。使用编码方式来执行 SQL 将会返回一个 Dataset/DataFrame。...创建 DataFrames 使用 SparkSession,可以从已经在的 RDD、Hive 表以及 Spark 支持的数据格式创建。...第一种方法是使用反射来推断包含指定类对象元素的 RDD 的模式。利用这种方法能让代码更简洁。 创建 Datasets 的第二种方法通过接口构造一个模式来应用于现有的 RDD。...使用反射来推断模式 Spark SQL 的 Scala 接口支持将元素类型为 case class 的 RDD 自动转为 DataFrame。case class 定义了表的模式。...当将 path/to/table 传给 SparkSession.read.parquet 或 SparkSession.read.load 时,Spark SQL 会自动从路径中提取分区信息,返回的

    4K20

    【Spark篇】---SparkSQL初始和创建DataFrame的几种方式

    SparkSQL支持查询原生的RDD。 RDD是Spark平台的核心概念,是Spark能够高效的处理大数据的各种场景的基础。 能够在Scala中写SQL语句。...2、Spark on Hive和Hive on Spark Spark on Hive: Hive只作为储存角色,Spark负责sql解析优化,执行。...Hive on Spark:Hive即作为存储又负责sql的解析优化,Spark负责执行。 二、基础概念          1、DataFrame ? DataFrame也是一个分布式数据容器。...从API易用性的角度上 看, DataFrame API提供的是一套高层的关系操作,比函数式的RDD API要更加友好,门槛更低。...格式的RDD创建DataFrame(重要) 1) 通过反射的方式将非json格式的RDD转换成DataFrame(不建议使用) 自定义类要可序列化 自定义类的访问级别是Public RDD转成DataFrame

    2.6K10

    【数据科学家】SparkR:数据科学家的新利器

    目前SparkR的DataFrame API已经比较完善,支持的创建DataFrame的方式有: 从R原生data.frame和list创建 从SparkR RDD创建 从特定的数据源(JSON和Parquet...格式的文件)创建 从通用的数据源创建 将指定位置的数据源保存为外部SQL表,并返回相应的DataFrame 从Spark SQL表创建 从一个SQL查询的结果创建 支持的主要的DataFrame操作有:...", "AverageAge") sqlCtx <- sparkRSQL.init(sc) #从当前目录的一个JSON文件创建DataFrame df json...从这里可以看出,与Scala RDD API相比,SparkR RDD API的实现多了几项开销:启动R worker进程,将分区数据传给R worker和R worker将结果返回,分区数据的序列化和反序列化...当然,DataFrame API还包含了一些RDD API,这些RDD API方法的实现是先将DataFrame转换成RDD,然后调用RDD 的相关方法。

    3.5K100

    PySpark UD(A)F 的高效使用

    由于主要是在PySpark中处理DataFrames,所以可以在RDD属性的帮助下访问底层RDD,并使用toDF()将其转换回来。这个RDD API允许指定在数据上执行的任意Python函数。...举个例子,假设有一个DataFrame df,它包含10亿行,带有一个布尔值is_sold列,想要过滤带有sold产品的行。...接下来,Spark worker 开始序列化他们的 RDD 分区,并通过套接字将它们通过管道传输到 Python worker,lambda 函数在每行上进行评估。...这意味着在UDF中将这些列转换为JSON,返回Pandas数据帧,并最终将Spark数据帧中的相应列从JSON转换为复杂类型 [2enpwvagkq.png] 5.实现 将实现分为三种不同的功能: 1)...不同之处在于,对于实际的UDF,需要知道要将哪些列转换为复杂类型,因为希望避免探测每个包含字符串的列。在向JSON的转换中,如前所述添加root节点。

    19.7K31

    深入理解XGBoost:分布式实现

    下面对常用的行动操作进行介绍。 foreach:对RDD中每个元素都调用用户自定义函数操作,返回Unit。 collect:对于分布式RDD,返回一个scala中的Array数组。...DataFrame是一个具有列名的分布式数据集,可以近似看作关系数据库中的表,但DataFrame可以从多种数据源进行构建,如结构化数据文件、Hive中的表、RDD等。...withColumn(colName:String,col:Column):添加列或者替换具有相同名字的列,返回新的DataFrame。...以下示例将结构化数据保存在JSON文件中,并通过Spark的API解析为DataFrame,并以两行Scala代码来训练XGBoost模型。...下面介绍几个重要的概念。 DataFrame:相比于RDD,DataFrame还包含schema信息,可以将其近似看作数据库中的表。

    4.2K30
    领券