c

orgapache火花sql

数据集

数据集(T]扩展可序列化的

数据集是一种强类型集合的特定于域的对象可以使用功能或关系转变为并行操作。每个数据集也有一个叫做无类型的视图DataFrame,这是一个数据集

操作上可用数据集分为转换和行动。转换是产生新的数据集,和动作的触发计算并返回结果。转换示例包括地图、过滤、选择和聚合(groupBy)。示例操作计数、显示或写入数据文件系统。

数据集是“懒”,即计算只是调用时触发一个动作。在内部,一个数据集表示一个逻辑方案,描述了计算所需数据。当调用一个操作,火花的查询优化器优化逻辑规划和生成一个物理规划高效的并行和分布式的方式执行。探索合理的计划以及优化物理计划,使用解释函数。

有效地支持特定于域的对象,一个编码器是必需的。编码器地图领域特定类型T引发的内部类型系统。例如,给定一个类有两个字段,的名字(字符串)和年龄(int),一个编码器用于告诉火花来生成代码在运行时序列化对象成二元结构。这种二元结构通常有更低的内存占用以及优化数据处理的效率(如柱状的格式)。了解内部二进制表示数据,使用模式函数。

通常有两种方法可以创建一个数据集。最常见的方式是通过火花指向一些文件存储系统,使用功能上可用SparkSession

瓦尔人= spark.read.parquet (“…”)。as[人]/ / Scala数据集<人>人= spark.read () .parquet (“…”)。as (Encoders.bean(人。));/ / Java

数据也可以通过创建转换可以在现有的数据集。例如,下面创建一个新的数据集通过应用现有的过滤器:

瓦尔名称= people.map (_.name)/ /在Scala中;名字是一个数据集(字符串)数据集<字符串> =人名字。地图((人p) -> p.name, Encoders.STRING));

数据集操作也可以无类型,通过各种领域特定语言(DSL)中定义的功能:数据集(这类),,功能。这些操作中可用的操作非常类似于R或Python的抽象数据帧。

选择一列的数据集,使用应用方法在Scala中,上校在Java中。

瓦尔ageCol =人(“年龄”)/ /在Scala中列ageCol = people.col (“年龄”);/ /在Java中

请注意,类型也可以通过其各种功能操作。

/ /下面创建一个新的列,增加每个人的年龄10。人(“年龄”)+10/ /在Scala中people.col (“年龄”)的话语(10);/ /在Java中

Scala中的一个更具体的例子:

/ /创建数据集使用SparkSession(行)瓦尔人= spark.read.parquet (“…”)瓦尔部门= spark.read.parquet (“…”)people.filter (“30岁>”). join(部门、人(“deptId”)= = =部门(“id”).groupBy(部门(“名称”)、人(“性别”).agg (avg(人(“工资”))、马克斯(人(“年龄”)))

和在Java中:

/ /创建数据集使用SparkSession <行>数据集<行>人= spark.read () .parquet (“…”);数据集<行>部门= spark.read () .parquet (“…”);people.filter (people.col (“年龄”)gt (30.. join(部门、people.col ())“deptId”).equalTo (department.col (“id”))).groupBy (department.col (“名称”),people.col (“性别”).agg (avg (people.col (“工资”)),马克斯(people.col (“年龄”)));
注释
@Stable ()

1.6.0

线性超
可序列化的,可序列化的,AnyRef,任何
订购
  1. 分组
  2. 字母
  3. 通过继承
继承了
  1. 数据集
  2. 可序列化的
  3. 可序列化的
  4. AnyRef
  5. 任何
  1. 隐藏所有
  2. 显示所有
可见性
  1. 公共
  2. 所有

实例构造函数

  1. 数据集(sqlContext:SQLContext,logicalPlan:LogicalPlan,编码器:编码器(T])
  2. 数据集(sparkSession:SparkSession,logicalPlan:LogicalPlan,编码器:编码器(T])

值的成员

  1. 最后def! =(arg0:任何):布尔
    定义类
    AnyRef→任何
  2. 最后def# #():Int
    定义类
    AnyRef→任何
  3. 最后def= =(arg0:任何):布尔
    定义类
    AnyRef→任何
  4. defgg(expr:,exprs:*):DataFrame

    没有团体聚集在整个数据集上。

    没有团体聚集在整个数据集上。

    / / ds.agg(…)是一个缩写ds.groupBy () .agg (…)ds.agg (max(美元“年龄”),avg(美元)“工资”)ds.groupBy () .agg (max ($“年龄”),avg(美元)“工资”))
    注释
    @varargs ()

    2.0.0

  5. defgg(exprs:地图(字符串,字符串]):DataFrame

    (java特定)聚集在整个数据集不组。

    (java特定)聚集在整个数据集不组。

    / / ds.agg(…)是一个缩写ds.groupBy () .agg (…)ds.agg (地图(“年龄”- >“马克斯”,“工资”- >“平均”)ds.groupBy () .agg (地图(“年龄”- >“马克斯”,“工资”- >“平均”))

    2.0.0

  6. defgg(exprs:地图(字符串,字符串]):DataFrame

    (Scala-specific)聚集在整个数据集不组。

    (Scala-specific)聚集在整个数据集不组。

    / / ds.agg(…)是一个缩写ds.groupBy () .agg (…)ds.agg (地图(“年龄”- >“马克斯”,“工资”- >“平均”)ds.groupBy () .agg (地图(“年龄”- >“马克斯”,“工资”- >“平均”))

    2.0.0

  7. defgg(aggExpr:(字符串,字符串),aggExprs:(字符串,字符串)*):DataFrame

    (Scala-specific)聚集在整个数据集不组。

    (Scala-specific)聚集在整个数据集不组。

    / / ds.agg(…)是一个缩写ds.groupBy () .agg (…)ds.agg (“年龄”- >“马克斯”,“工资”- >“平均”)ds.groupBy () .agg (“年龄”- >“马克斯”,“工资”- >“平均”)

    2.0.0

  8. def别名(别名:象征):数据集(T]

    (Scala-specific)返回一组新数据集的一个别名。

    (Scala-specific)返回一个新的数据集与别名设置一样作为

    2.0.0

  9. def别名(别名:字符串):数据集(T]

    返回一组新数据集的一个别名。

    返回一个新的数据集与别名设置一样作为

    2.0.0

  10. def应用(colName:字符串):

    选择列基于列的名称并返回它

    选择列基于列的名称并返回它

    2.0.0

    请注意

    列名还可以引用一个嵌套列a.b

  11. def作为(别名:象征):数据集(T]

    (Scala-specific)返回一组新数据集的一个别名。

    (Scala-specific)返回一组新数据集的一个别名。

    2.0.0

  12. def作为(别名:字符串):数据集(T]

    返回一组新数据集的一个别名。

    返回一组新数据集的一个别名。

    1.6.0

  13. def作为(模式:StructType):DataFrame

    返回一个新的DataFrame每一行在哪里协调匹配指定的模式。

    返回一个新的DataFrame每一行在哪里协调匹配指定的模式。火花将:

    • 重新排序的列和/或内部字段的名字与指定的模式匹配。
    • 项目列和/或不需要的内部字段指定模式。失踪的列和/或内部字段(在指定的模式而不是输入DataFrame)导致失败。
    • 演员和/或内部字段的列在指定的模式匹配的数据类型,如果是兼容的类型,例如,数字数字(如果溢出错误),但不是int字符串。
    • 携带超过指定的模式的元数据,而列和/或内部领域仍保持自己的元数据如果不是被指定的模式覆盖。
    • 失败如果nullability不兼容的。例如,列和/或内部字段可以为空,但指定的模式要求他们不可以为空。

    3.4.0

  14. def作为(U](隐式的arg0:编码器(U]):数据集(U]

    返回一个新的数据集,每条记录已经被映射到指定的类型。

    返回一个新的数据集,每条记录已经被映射到指定的类型。该方法用于地图列取决于类型的U:

    • U是一个类,类将被映射到列的字段相同的名称(区分大小写取决于spark.sql.caseSensitive)。
    • U是一个元组,将映射的列顺序(即第一列会分配给吗_1)。
    • U是一个原始类型(例如字符串、整数等等),那么的第一列DataFrame就会被使用。

    如果数据集的模式不匹配所需的U类型,您可以使用选择随着别名orgydF4y2Ba作为根据需要重新排列或重命名。

    请注意,为[]只有改变视图的数据传递到输入操作,如map (),并不急切地项目中不存在任何列指定的类。

    1.6.0

  15. 最后defasInstanceOf(T0]:T0
    定义类
    任何
  16. def缓存():数据集.this.type

    保存这个数据集使用默认存储水平(MEMORY_AND_DISK)。

    保存这个数据集使用默认存储水平(MEMORY_AND_DISK)。

    1.6.0

  17. def检查点(渴望:布尔):数据集(T]

    返回一个检查点版本的这个数据集。

    返回一个检查点版本的这个数据集。检查点可以用于截断的逻辑计划这个数据集,这是特别有用在迭代算法的计划可能呈现指数级增长。它将被保存到文件目录设置检查站内SparkContext # setCheckpointDir

    魅惑

  18. def检查点():数据集(T]

    急切地检查点并返回新数据集的数据集。

    急切地检查点并返回新数据集的数据集。检查点可以用于截断的逻辑计划这个数据集,这是特别有用在迭代算法的计划可能呈现指数级增长。它将被保存到文件目录设置检查站内SparkContext # setCheckpointDir

    魅惑

  19. def克隆():AnyRef
    属性
    保护(]
    定义类
    AnyRef
    注释
    @throws () @native ()
  20. def合并(numPartitions:Int):数据集(T]

    返回一个新的数据集numPartitions分区,分区要求就越少。

    返回一个新的数据集numPartitions分区,分区要求就越少。如果请求更多的分区,它将留在当前分区的数量。类似于合并在一个定义的抽样,这个操作的结果在一个狭窄的依赖性,例如如果你从1000个分区到100个分区,不会出现洗牌,而不是每个100个新分区将索赔10当前的分区。

    然而,如果你正在做一个激烈的融合,如numPartitions = 1,这可能会导致你的计算发生在节点少于你喜欢(例如一个节点在numPartitions = 1)的情况下,为了避免这种情况,你可以叫重新分区。这将添加一个洗牌一步,但意味着当前上游分区并行执行(每无论当前分区)。

    1.6.0

  21. def上校(colName:字符串):

    选择列基于列的名称并返回它

    选择列基于列的名称并返回它

    2.0.0

    请注意

    列名还可以引用一个嵌套列a.b

  22. defcolRegex(colName:字符串):

    基于列的选择列名称指定为一个正则表达式并返回它

    基于列的选择列名称指定为一个正则表达式并返回它

    tripwire

  23. def收集():数组(T]

    返回一个数组,其中包含在这个数据集的所有行。

    返回一个数组,其中包含在这个数据集的所有行。

    收集运行需要将所有的数据移动到应用程序的驱动程序的过程,而且这样做在一个非常大的数据集可以崩溃司机过程OutOfMemoryError。

    对于Java API,使用collectAsList

    1.6.0

  24. defcollectAsList():列表(T]

    返回一个Java在这个数据集列表包含所有行。

    返回一个Java在这个数据集列表包含所有行。

    收集运行需要将所有的数据移动到应用程序的驱动程序的过程,而且这样做在一个非常大的数据集可以崩溃司机过程OutOfMemoryError。

    1.6.0

  25. def:数组(字符串]

    返回所有列名作为一个数组。

    返回所有列名作为一个数组。

    1.6.0

  26. def():

    在数据集返回的行数。

    在数据集返回的行数。

    1.6.0

  27. defcreateGlobalTempView(viewName:字符串):单位

    创建一个全局临时视图使用给定的名称。

    创建一个全局临时视图使用给定的名称。这个临时视图的一生与这个火花应用程序。

    全局临时视图是cross-session。其一生火花应用程序的生命周期,即应用程序终止时它会自动下降。绑定到一个系统保存数据库global_temp,我们必须使用限定名称来引用一个全局临时观点,如SELECT * FROM global_temp.view1

    注释
    @throws ()

    魅惑

    抛出的异常

    AnalysisException如果视图名称是无效的或者已经存在

  28. defcreateOrReplaceGlobalTempView(viewName:字符串):单位

    创建或替换一个全局临时视图使用给定的名称。

    创建或替换一个全局临时视图使用给定的名称。这个临时视图的一生与这个火花应用程序。

    全局临时视图是cross-session。其一生火花应用程序的生命周期,即应用程序终止时它会自动下降。绑定到一个系统保存数据库global_temp,我们必须使用限定名称来引用一个全局临时观点,如SELECT * FROM global_temp.view1

    2.2.0

  29. defcreateOrReplaceTempView(viewName:字符串):单位

    创建一个本地临时视图使用给定的名称。

    创建一个本地临时视图使用给定的名称。这个临时的生命周期视图相关SparkSession用于创建数据集。

    2.0.0

  30. defcreateTempView(viewName:字符串):单位

    创建一个本地临时视图使用给定的名称。

    创建一个本地临时视图使用给定的名称。这个临时的生命周期视图相关SparkSession用于创建数据集。

    当地临时视图是会话范围内。它的生命周期是创建会话的生命周期,即它在会话终止时将会自动下降。这不是绑定到任何数据库,即我们不能使用db1.view1参考当地临时视图。

    注释
    @throws ()

    2.0.0

    抛出的异常

    AnalysisException如果视图名称是无效的或者已经存在

  31. defcrossJoin(正确的:数据集(_)):DataFrame

    明确的笛卡尔连接与另一个DataFrame

    明确的笛卡尔连接与另一个DataFrame

    正确的

    右边的连接操作。

    魅惑

    请注意

    笛卡尔连接非常昂贵,没有额外的过滤器,可以下推。

  32. def多维数据集(col1:字符串,关口:字符串*):RelationalGroupedDataset

    当前数据集的创建一个多维数据集使用指定的列,所以我们可以运行聚合。

    当前数据集的创建一个多维数据集使用指定的列,所以我们可以运行聚合。看到RelationalGroupedDataset对所有可用的聚合函数。

    这是多维数据集的一个变体,只能通过现有的组列使用列名(即不能构造表达式)。

    / /计算的平均数字列³部门和集团。ds.cube (“部门”,“集团”).avg ()/ /计算最大年龄和平均工资,由部门和性别的立方。ds.cube ($“部门”美元,“性别”).agg (地图(“工资”- >“平均”,“年龄”- >“马克斯”))
    注释
    @varargs ()

    2.0.0

  33. def多维数据集(关口:*):RelationalGroupedDataset

    当前数据集的创建一个多维数据集使用指定的列,所以我们可以运行聚合。

    当前数据集的创建一个多维数据集使用指定的列,所以我们可以运行聚合。看到RelationalGroupedDataset对所有可用的聚合函数。

    / /计算的平均数字列³部门和集团。ds.cube ($“部门”美元,“集团”).avg ()/ /计算最大年龄和平均工资,由部门和性别的立方。ds.cube ($“部门”美元,“性别”).agg (地图(“工资”- >“平均”,“年龄”- >“马克斯”))
    注释
    @varargs ()

    2.0.0

  34. def描述(关口:字符串*):DataFrame

    数字和字符串列的计算基本统计信息,包括计数,意思是,stddev,最小值和最大值。

    数字和字符串列的计算基本统计信息,包括计数,意思是,stddev,最小值和最大值。如果没有列,这个函数计算统计数值或字符串列。

    这个函数是用于探索性数据分析,我们不能保证向后兼容的模式产生的数据集。如果你想通过编程计算汇总统计,使用gg函数来代替。

    ds.describe (“年龄”,“高度”),告诉()/ /输出:/ /总结时代高度/ /计数10.0 - 10.0/ / 53.3 - 178.05/ / stddev 11.6 - 15.7/ /分钟18.0 - 163.0/ /最大92.0 - 192.0

    使用总结扩大统计和控制哪些统计信息来计算。

    关口

    列计算统计。

    注释
    @varargs ()

    1.6.0

  35. def截然不同的():数据集(T]

    返回一个新的数据集,从这个数据集只包含独特的行。

    返回一个新的数据集,从这个数据集只包含独特的行。这是一个别名dropDuplicates

    流媒体的注意数据集只有一次,该方法返回不同的行不管输出模式,行为可能不是相同的截然不同的在SQL与流数据集

    2.0.0

    请注意

    平等直接执行检查数据的编码表示,因此不受一个自定义的影响=函数定义在T

  36. def下降(上校:):DataFrame

    返回一个新的数据集,列了。

    返回一个新的数据集,列了。这个版本的接受一个下降而不是一个名字。这是一个空操作如果数据集不列有一个等价的表达式。

    2.0.0

  37. def下降(colNames:字符串*):DataFrame

    返回一个新的数据集,列了。

    返回一个新的数据集,列了。这是一个空操作如果模式不包含列名(年代)。

    这种方法只能用于顶级列。colName字符串处理字面上没有进一步的解释。

    注释
    @varargs ()

    2.0.0

  38. def下降(colName:字符串):DataFrame

    返回一个新的数据集,列了。

    返回一个新的数据集,列了。这是一个空操作如果模式不包含列名。

    这种方法只能用于顶级列。colName字符串处理字面上没有进一步的解释。

    2.0.0

  39. defdropDuplicates(col1:字符串,关口:字符串*):数据集(T]

    返回一个新的数据集删除重复的行,只考虑列的子集。

    返回一个新的数据集删除重复的行,只考虑列的子集。

    对于静态批数据集,它只是重复的行。对于一个流数据集在触发器,它将保持所有数据作为中间状态下降重复行。您可以使用withWatermark限制多晚重复数据可以和相应的系统将限制状态。此外,太晚了以上数据水印将降至避免任何重复的可能性。

    注释
    @varargs ()

    2.0.0

  40. defdropDuplicates(colNames:数组(字符串]):数据集(T]

    返回一个新的数据集删除重复的行,只考虑列的子集。

    返回一个新的数据集删除重复的行,只考虑列的子集。

    对于静态批数据集,它只是重复的行。对于一个流数据集在触发器,它将保持所有数据作为中间状态下降重复行。您可以使用withWatermark限制多晚重复数据可以和相应的系统将限制状态。此外,太晚了以上数据水印将降至避免任何重复的可能性。

    2.0.0

  41. defdropDuplicates(colNames:Seq(字符串]):数据集(T]

    (Scala-specific)返回一个新的数据集删除重复的行,只考虑列的子集。

    (Scala-specific)返回一个新的数据集删除重复的行,只考虑列的子集。

    对于静态批数据集,它只是重复的行。对于一个流数据集在触发器,它将保持所有数据作为中间状态下降重复行。您可以使用withWatermark限制多晚重复数据可以和相应的系统将限制状态。此外,太晚了以上数据水印将降至避免任何重复的可能性。

    2.0.0

  42. defdropDuplicates():数据集(T]

    返回一个新的数据集,从这个数据集只包含独特的行。

    返回一个新的数据集,从这个数据集只包含独特的行。这是一个别名截然不同的

    对于静态批数据集,它只是重复的行。对于一个流数据集在触发器,它将保持所有数据作为中间状态下降重复行。您可以使用withWatermark限制多晚重复数据可以和相应的系统将限制状态。此外,太晚了以上数据水印将降至避免任何重复的可能性。

    2.0.0

  43. defdtypes:数组((字符串,字符串)]

    返回所有列名和数据类型作为一个数组。

    返回所有列名和数据类型作为一个数组。

    1.6.0

  44. 瓦尔编码器:编码器(T]
  45. 最后def情商(arg0:AnyRef):布尔
    定义类
    AnyRef
  46. def=(arg0:任何):布尔
    定义类
    AnyRef→任何
  47. def除了(其他:数据集(T]):数据集(T]

    返回一个新的数据集,其中包含行这个数据集而不是在另一个数据集。

    返回一个新的数据集,其中包含行这个数据集而不是在另一个数据集。这相当于除了不同的在SQL。

    2.0.0

    请注意

    平等直接执行检查数据的编码表示,因此不受一个自定义的影响=函数定义在T

  48. defexceptAll(其他:数据集(T]):数据集(T]

    返回一个新的数据集,其中包含行这个数据集而不是另一个数据集,同时保留副本。

    返回一个新的数据集,其中包含行这个数据集而不是另一个数据集,同时保留副本。这相当于除了所有在SQL。

    测试盒框

    请注意

    平等直接执行检查数据的编码表示,因此不受一个自定义的影响=函数定义在T。还在SQL作为标准,这个函数解决列的位置(而不是按名称)。

  49. def解释():单位

    将物理计划打印到控制台用于调试目的。

    将物理计划打印到控制台用于调试目的。

    1.6.0

  50. def解释(扩展:布尔):单位

    打印计划(逻辑和物理)到控制台用于调试目的。

    打印计划(逻辑和物理)到控制台用于调试目的。

    扩展

    默认的。如果,只打印物理计划。

    1.6.0

  51. def解释(模式:字符串):单位

    打印指定计划(逻辑和物理),格式由给定解释模式。

    打印指定计划(逻辑和物理),格式由给定解释模式。

    模式

    指定计划的预期输出格式。

    • 简单的只打印一个物理计划。
    • 扩展:打印逻辑和物理的计划。
    • codegen:打印物理规划和生成的代码,如果他们是可用的。
    • 成本:打印一个合乎逻辑的计划和统计,如果他们是可用的。
    • 格式化解释输出分割成两个部分:一个具体的计划大纲和节点的细节。

    3.0.0

  52. def过滤器(函数:FilterFunction(T]):数据集(T]

    (java特定)返回一个新的数据集,只包含元素的地方函数返回真正的

    (java特定)返回一个新的数据集,只包含元素的地方函数返回真正的

    1.6.0

  53. def过滤器(函数:T)⇒布尔):数据集(T]

    (Scala-specific)返回一个新的数据集,只包含元素的地方函数返回真正的

    (Scala-specific)返回一个新的数据集,只包含元素的地方函数返回真正的

    1.6.0

  54. def过滤器(conditionExpr:字符串):数据集(T]

    使用给定的SQL表达式过滤器行。

    使用给定的SQL表达式过滤器行。

    peopleDs.filter (“年龄> 15”)

    1.6.0

  55. def过滤器(条件:):数据集(T]

    过滤器使用给定的条件行。

    过滤器使用给定的条件行。

    / /以下是等价的:peopleDs.filter ($“年龄”>15)peopleDs.where(美元)“年龄”>15)

    1.6.0

  56. def完成():单位
    属性
    保护(]
    定义类
    AnyRef
    注释
    @throws (名为[java.lang.Throwable] classOf)
  57. def第一个():T

    返回第一行。

    返回第一行。别名()。

    1.6.0

  58. defflatMap(U](f:FlatMapFunction(T,U],编码器:编码器(U]):数据集(U]

    (java特定)返回一个新的数据集,首先将一个函数应用于所有元素的数据集,然后压扁的结果。

    (java特定)返回一个新的数据集,首先将一个函数应用于所有元素的数据集,然后压扁的结果。

    1.6.0

  59. defflatMap(U](函数:T)⇒TraversableOnce(U])(隐式的arg0:编码器(U]):数据集(U]

    (Scala-specific)返回一个新的数据集,首先将一个函数应用于所有元素的数据集,然后压扁的结果。

    (Scala-specific)返回一个新的数据集,首先将一个函数应用于所有元素的数据集,然后压扁的结果。

    1.6.0

  60. defforeach(函数:ForeachFunction(T]):单位

    (java特定的)函数这个数据集的每个元素。

    (java特定的)函数这个数据集的每个元素。

    1.6.0

  61. defforeach(福:(T)⇒单位):单位

    应用一个函数f所有行。

    应用一个函数f所有行。

    1.6.0

  62. defforeachPartition(函数:ForeachPartitionFunction(T]):单位

    (java特定的)函数在每个分区上的数据集。

    (java特定的)函数在每个分区上的数据集。

    1.6.0

  63. defforeachPartition(福:(迭代器(T])⇒单位):单位

    应用一个函数f每个分区的数据集。

    应用一个函数f每个分区的数据集。

    1.6.0

  64. 最后defgetClass():(_)
    定义类
    AnyRef→任何
    注释
    @native ()
  65. defgroupBy(col1:字符串,关口:字符串*):RelationalGroupedDataset

    组数据集使用指定的列,这样我们可以运行聚合。

    组数据集使用指定的列,这样我们可以运行聚合。看到RelationalGroupedDataset对所有可用的聚合函数。

    这是groupBy的变种,只能通过现有的组列使用列名(即不能构造表达式)。

    / /计算出所有数字列按部门分组的平均水平。ds.groupBy (“部门”).avg ()/ /计算最大年龄和平均工资,按部门分组和性别。ds.groupBy ($“部门”美元,“性别”).agg (地图(“工资”- >“平均”,“年龄”- >“马克斯”))
    注释
    @varargs ()

    2.0.0

  66. defgroupBy(关口:*):RelationalGroupedDataset

    组数据集使用指定的列,所以我们可以运行聚合。

    组数据集使用指定的列,所以我们可以运行聚合。看到RelationalGroupedDataset对所有可用的聚合函数。

    / /计算出所有数字列按部门分组的平均水平。ds.groupBy ($“部门”).avg ()/ /计算最大年龄和平均工资,按部门分组和性别。ds.groupBy ($“部门”美元,“性别”).agg (地图(“工资”- >“平均”,“年龄”- >“马克斯”))
    注释
    @varargs ()

    2.0.0

  67. defgroupByKey(K](函数:MapFunction(T,K],编码器:编码器(K]):KeyValueGroupedDataset(K,T]

    (java特定)返回KeyValueGroupedDataset数据分组通过给定的关键在哪里函数

    (java特定)返回KeyValueGroupedDataset数据分组通过给定的关键在哪里函数

    2.0.0

  68. defgroupByKey(K](函数:T)⇒K)(隐式的arg0:编码器(K]):KeyValueGroupedDataset(K,T]

    (Scala-specific)返回KeyValueGroupedDataset数据分组通过给定的关键在哪里函数

    (Scala-specific)返回KeyValueGroupedDataset数据分组通过给定的关键在哪里函数

    2.0.0

  69. defhashCode():Int
    定义类
    AnyRef→任何
    注释
    @native ()
  70. def():T

    返回第一行。

    返回第一行。

    1.6.0

  71. def(护士:Int):数组(T]

    返回第一个n行。

    返回第一个n行。

    1.6.0

    请注意

    这种方法应该只用于如果生成的数组将小,因为所有数据加载到司机的记忆。

  72. def提示(名称:字符串,参数:任何*):数据集(T]

    指定当前数据集上的一些提示。

    指定当前数据集上的一些提示。作为一个例子,下面的代码指定一个计划可以播放:

    df1.join (df2.hint (“广播”))
    注释
    @varargs ()

    2.2.0

  73. definputFiles:数组(字符串]

    返回一个最优的快照文件组成这个数据集。

    返回一个最优的快照文件组成这个数据集。这种方法只要求每个组成BaseRelation各自的文件,需要工会的所有结果。根据源关系,这可能没有找到所有输入文件。重复删除。

    2.0.0

  74. def相交(其他:数据集(T]):数据集(T]

    返回一个新的数据集,其中包含行只有在这个数据集和另一个数据集。

    返回一个新的数据集,其中包含行只有在这个数据集和另一个数据集。这相当于相交在SQL。

    1.6.0

    请注意

    平等直接执行检查数据的编码表示,因此不受一个自定义的影响=函数定义在T

  75. defintersectAll(其他:数据集(T]):数据集(T]

    返回一个新的数据集,其中包含行只有在这个数据集和另一个数据集,同时保留副本。

    返回一个新的数据集,其中包含行只有在这个数据集和另一个数据集,同时保留副本。这相当于相交的所有在SQL。

    测试盒框

    请注意

    平等直接执行检查数据的编码表示,因此不受一个自定义的影响=函数定义在T。还在SQL作为标准,这个函数解决列的位置(而不是按名称)。

  76. defisEmpty:布尔

    返回true,如果数据集是空的。

    返回true,如果数据集是空的。

    测试盒框

  77. 最后defisInstanceOf(T0]:布尔
    定义类
    任何
  78. defisLocal:布尔

    返回true,如果收集方法可以在本地运行(没有任何火花执行人)。

    返回true,如果收集方法可以在本地运行(没有任何火花执行人)。

    1.6.0

  79. defisStreaming:布尔

    返回true,如果这个数据集包含一个或多个源不断地返回数据,因为它的到来。

    返回true,如果这个数据集包含一个或多个源不断地返回数据,因为它的到来。一个数据集,从流读取数据来源必须作为一个执行StreamingQuery使用start ()方法DataStreamWriter。方法返回一个单一的答案,例如。count ()orgydF4y2Ba收集(),将会抛出一个AnalysisException当有一个流源。

    2.0.0

  80. defjavaRDD:JavaRDD(T]

    返回数据集的内容JavaRDDT年代。

    返回数据集的内容JavaRDDT年代。

    1.6.0

  81. def加入(正确的:数据集(_),joinExprs:,joinType:字符串):DataFrame

    加入另一个DataFrame,使用给定的连接表达式。

    加入另一个DataFrame,使用给定的连接表达式。以下执行之间的完全外连接df1df2

    / / Scala:进口org.apache.spark.sql.functions。_ df1。加入(df2,$“df1Key”= = = $“df2Key”,“外”)Java: / /进口静态org.apache.spark.sql.functions。*;df1.join (df2上校(“df1Key”).equalTo(坳(“df2Key”)),“外”);
    正确的

    右边的加入。

    joinExprs

    加入表达式。

    joinType

    类型的连接来执行。默认的内心的。必须的:内心的,交叉,,完整的,fullouter,full_outer,,leftouter,left_outer,正确的,rightouter,right_outer,,leftsemi,left_semi,,leftanti,left_anti

    2.0.0

  82. def加入(正确的:数据集(_),joinExprs:):DataFrame

    内连接与另一个DataFrame,使用给定的连接表达式。

    内连接与另一个DataFrame,使用给定的连接表达式。

    / /下面两个是等价的:df1.join (df2$“df1Key”= = = $“df2Key”其中($)df1.join (df2)“df1Key”= = = $“df2Key”)

    2.0.0

  83. def加入(正确的:数据集(_),usingColumns:Seq(字符串],joinType:字符串):DataFrame

    (Scala-specific)等值连接与另一个DataFrame使用给定的列。

    (Scala-specific)等值连接与另一个DataFrame使用给定的列。一个交叉连接谓词被指定为一个内连接。如果你明确想执行一个交叉连接使用crossJoin方法。

    不同于其他加入功能,连接列只出现一次的输出,即类似于SQL的加入使用语法。

    正确的

    右边的连接操作。

    usingColumns

    列的名称加入。双方的这列必须存在。

    joinType

    类型的连接来执行。默认的内心的。必须的:内心的,交叉,,完整的,fullouter,full_outer,,leftouter,left_outer,正确的,rightouter,right_outer,,leftsemi,left_semi,,leftanti,left_anti

    2.0.0

    请注意

    如果你使用这个函数执行自连接无混叠输入DataFrame年代,您将无法引用任何列加入后,因为没有办法消除歧义的哪一边加入你想参考。

  84. def加入(正确的:数据集(_),usingColumns:数组(字符串],joinType:字符串):DataFrame

    (java特定)等值连接与另一个DataFrame使用给定的列。

    (java特定)等值连接与另一个DataFrame使用给定的列。看到Scala-specific过载的更多细节。

    正确的

    右边的连接操作。

    usingColumns

    列的名称加入。双方的这列必须存在。

    joinType

    类型的连接来执行。默认的内心的。必须的:内心的,交叉,,完整的,fullouter,full_outer,,leftouter,left_outer,正确的,rightouter,right_outer,,leftsemi,left_semi,,leftanti,left_anti

    3.4.0

  85. def加入(正确的:数据集(_),usingColumn:字符串,joinType:字符串):DataFrame

    等值连接与另一个DataFrame使用给定的列。

    等值连接与另一个DataFrame使用给定的列。一个交叉连接谓词被指定为一个内连接。如果你明确想执行一个交叉连接使用crossJoin方法。

    不同于其他加入功能,连接列只出现一次的输出,即类似于SQL的加入使用语法。

    正确的

    右边的连接操作。

    usingColumn

    列的名称加入。双方的这一列必须存在。

    joinType

    类型的连接来执行。默认的内心的。必须的:内心的,交叉,,完整的,fullouter,full_outer,,leftouter,left_outer,正确的,rightouter,right_outer,,leftsemi,left_semi,,leftanti,left_anti

    3.4.0

    请注意

    如果你使用这个函数执行自连接无混叠输入DataFrame年代,您将无法引用任何列加入后,因为没有办法消除歧义的哪一边加入你想参考。

  86. def加入(正确的:数据集(_),usingColumns:Seq(字符串]):DataFrame

    (Scala-specific)与另一个的内部相等连接DataFrame使用给定的列。

    (Scala-specific)与另一个的内部相等连接DataFrame使用给定的列。

    不同于其他加入功能,连接列只出现一次的输出,即类似于SQL的加入使用语法。

    / /加入df1和df2使用列“user_id”和“user_name”df1.join (df2Seq(“user_id”,“user_name”))
    正确的

    右边的连接操作。

    usingColumns

    列的名称加入。双方的这列必须存在。

    2.0.0

    请注意

    如果你使用这个函数执行自连接无混叠输入DataFrame年代,您将无法引用任何列加入后,因为没有办法消除歧义的哪一边加入你想参考。

  87. def加入(正确的:数据集(_),usingColumns:数组(字符串]):DataFrame

    (java特定)与另一个的内部相等连接DataFrame使用给定的列。

    (java特定)与另一个的内部相等连接DataFrame使用给定的列。看到Scala-specific过载的更多细节。

    正确的

    右边的连接操作。

    usingColumns

    列的名称加入。双方的这列必须存在。

    3.4.0

  88. def加入(正确的:数据集(_),usingColumn:字符串):DataFrame

    与另一个的内部相等连接DataFrame使用给定的列。

    与另一个的内部相等连接DataFrame使用给定的列。

    不同于其他加入功能,连接列只出现一次的输出,即类似于SQL的加入使用语法。

    / /加入df1和df2使用列“user_id”df1.join (df2“user_id”)
    正确的

    右边的连接操作。

    usingColumn

    列的名称加入。双方的这一列必须存在。

    2.0.0

    请注意

    如果你使用这个函数执行自连接无混叠输入DataFrame年代,您将无法引用任何列加入后,因为没有办法消除歧义的哪一边加入你想参考。

  89. def加入(正确的:数据集(_)):DataFrame

    加入另一个DataFrame

    加入另一个DataFrame

    表现为一个内连接,需要后续连接谓词。

    正确的

    右边的连接操作。

    2.0.0

  90. defjoinWith(U](其他:数据集(U],条件:):数据集((T,U)]

    使用内部相等连接加入这个数据集返回Tuple2对于每一对条件评估为true。

    使用内部相等连接加入这个数据集返回Tuple2对于每一对条件评估为true。

    其他

    右边的加入。

    条件

    加入表达式。

    1.6.0

  91. defjoinWith(U](其他:数据集(U],条件:,joinType:字符串):数据集((T,U)]

    加入这个数据集返回Tuple2对于每一对条件评估为true。

    加入这个数据集返回Tuple2对于每一对条件评估为true。

    这是类似于关系加入函数的一个重要区别结果模式。自joinWith保存对象呈现两侧的加入,结果模式同样列名下嵌套成一个元组_1_2

    这种类型的连接可以是有用的保留与原对象类型以及类型安全使用关系数据的加入已经列名共同之处。

    其他

    右边的加入。

    条件

    加入表达式。

    joinType

    类型的连接来执行。默认的内心的。必须的:内心的,交叉,,完整的,fullouter,full_outer,,leftouter,left_outer,正确的,rightouter,right_outer

    1.6.0

  92. def限制(护士:Int):数据集(T]

    通过第一个返回一个新的数据集n行。

    通过第一个返回一个新的数据集n行。这个函数和之间的区别是,是一个行动和返回一个数组(通过触发查询执行)限制返回一个新的数据集。

    2.0.0

  93. deflocalCheckpoint(渴望:布尔):数据集(T]

    局部检查点并返回新数据集的数据集。

    局部检查点并返回新数据集的数据集。检查点可以用于截断的逻辑计划这个数据集,这是特别有用在迭代算法的计划可能呈现指数级增长。当地检查站写遗嘱执行人存储,尽管可能更快的他们不可靠,可能会影响作业完成。

    tripwire

  94. deflocalCheckpoint():数据集(T]

    急切地局部检查点并返回新数据集的数据集。

    急切地局部检查点并返回新数据集的数据集。检查点可以用于截断的逻辑计划这个数据集,这是特别有用在迭代算法的计划可能呈现指数级增长。当地检查站写遗嘱执行人存储,尽管可能更快的他们不可靠,可能会影响作业完成。

    tripwire

  95. def地图(U](函数:MapFunction(T,U],编码器:编码器(U]):数据集(U]

    (java特定)返回一个新的数据集,其中包含应用的结果函数每个元素。

    (java特定)返回一个新的数据集,其中包含应用的结果函数每个元素。

    1.6.0

  96. def地图(U](函数:T)⇒U)(隐式的arg0:编码器(U]):数据集(U]

    (Scala-specific)返回一个新的数据集,其中包含应用的结果函数每个元素。

    (Scala-specific)返回一个新的数据集,其中包含应用的结果函数每个元素。

    1.6.0

  97. defmapPartitions(U](f:MapPartitionsFunction(T,U],编码器:编码器(U]):数据集(U]

    (java特定)返回一个新的数据集,其中包含应用的结果f每个分区。

    (java特定)返回一个新的数据集,其中包含应用的结果f每个分区。

    1.6.0

  98. defmapPartitions(U](函数:迭代器(T])⇒迭代器(U])(隐式的arg0:编码器(U]):数据集(U]

    (Scala-specific)返回一个新的数据集,其中包含应用的结果函数每个分区。

    (Scala-specific)返回一个新的数据集,其中包含应用的结果函数每个分区。

    1.6.0

  99. defna:DataFrameNaFunctions

    返回一个DataFrameNaFunctions处理缺失数据。

    返回一个DataFrameNaFunctions处理缺失数据。

    / /删除行包含null值。ds.na.drop ()

    1.6.0

  100. 最后def(arg0:AnyRef):布尔
    定义类
    AnyRef
  101. 最后def通知():单位
    定义类
    AnyRef
    注释
    @native ()
  102. 最后defnotifyAll():单位
    定义类
    AnyRef
    注释
    @native ()
  103. def观察(观察:观察,expr:,exprs:*):数据集(T]

    通过观察(命名)指标org.apache.spark.sql.Observation实例。

    通过观察(命名)指标org.apache.spark.sql.Observation实例。这相当于调用观察(字符串,列,列*)但不需要添加org.apache.spark.sql.util.QueryExecutionListener火花会话。这个方法不支持流媒体数据集。

    用户可以通过访问检索指标org.apache.spark.sql.Observation.get

    / /观察行数(行)和最高id (maxid)数据集在写它瓦尔观察=观察(“my_metrics”)瓦尔observed_ds = ds.observe (observation, count(lit(1)。as (“行”)、马克斯($“id”)。as (“maxid”)observed_ds.write.parquet (“ds.parquet”)瓦尔指标= observation.get
    注释
    @varargs ()

    3.3.0

    抛出的异常

    IllegalArgumentException如果这是一个流媒体数据集(这。isStreaming = = true)

  104. def观察(名称:字符串,expr:,exprs:*):数据集(T]

    在数据集上定义(命名)指标观察。

    在数据集上定义(命名)指标观察。这个方法返回一个“观察”数据集返回相同的结果作为输入,用以下保证:

    • 它将计算定义的聚合(指标)在所有流经该数据集的数据。
    • 它将报告的价值定义聚合列一旦我们完成点。年底完成点可以是一个查询(批处理模式)或一个流媒体时代的终结。的价值总量只反映了数据处理,因为前面的完成点。

    请注意,目前不支持连续执行。

    指标列必须包含一个文本(如点燃(42)),或者应该包含一个或多个聚合函数(例如sum (a)或(a + b) +和avg (c) -点燃(1))。表达式包含输入数据集引用的列必须包装在一个聚合函数。

    用户可以通过添加观察这些指标org.apache.spark.sql.streaming.StreamingQueryListener或者一个org.apache.spark.sql.util.QueryExecutionListener火花会话。

    / /使用侦听器监控指标。spark.streams.addListener (StreamingQueryListener () {覆盖defonQueryStarted(事件:QueryStartedEvent):单位= {}覆盖defonQueryProgress(事件:QueryProgressEvent):单位= {event.progress.observedMetrics.asScala.get (“my_event”)。f或each { row= >/ /触发如果错误的数量超过5%瓦尔num_rows = row.getAs [)(“钢筋混凝土”)瓦尔num_error_rows = row.getAs [)(“伦理委员会”)瓦尔比率= num_error_rows。toDouble / num_rows如果(比>0.05){/ /触发警报}}}覆盖defonQueryTerminated(事件:QueryTerminatedEvent):单位= {}})/ /观察行数(rc)和错误行数(erc)的流数据集瓦尔observed_ds = ds.observe (“my_event”计数(点燃(1)。as (“钢筋混凝土”),count ($“错误”)。as (“伦理委员会”)observed_ds.writeStream.format (“…”).start ()
    注释
    @varargs ()

    3.0.0

  105. def抵消(护士:Int):数据集(T]

    返回一个新的数据集,跳过第一n行。

    返回一个新的数据集,跳过第一n行。

    3.4.0

  106. deforderBy(sortExprs:*):数据集(T]

    返回一个新的数据集按给定的表达式。

    返回一个新的数据集按给定的表达式。这是一个别名排序函数。

    注释
    @varargs ()

    2.0.0

  107. deforderBy(sortCol:字符串,sortCols:字符串*):数据集(T]

    返回一个新的数据集按给定的表达式。

    返回一个新的数据集按给定的表达式。这是一个别名排序函数。

    注释
    @varargs ()

    2.0.0

  108. def坚持(中的:StorageLevel):数据集.this.type

    保存这个数据集与给定的存储水平。

    保存这个数据集与给定的存储水平。

    中的小

    之一:MEMORY_ONLY,MEMORY_AND_DISK,MEMORY_ONLY_SER,MEMORY_AND_DISK_SER,DISK_ONLY,MEMORY_ONLY_2,MEMORY_AND_DISK_2等。

    1.6.0

  109. def坚持():数据集.this.type

    保存这个数据集使用默认存储水平(MEMORY_AND_DISK)。

    保存这个数据集使用默认存储水平(MEMORY_AND_DISK)。

    1.6.0

  110. defprintSchema(水平:Int):单位

    打印到控制台模式到给定的水平在一个漂亮的树格式。

    打印到控制台模式到给定的水平在一个漂亮的树格式。

    3.0.0

  111. defprintSchema():单位

    向控制台打印模式在一个漂亮的树格式。

    向控制台打印模式在一个漂亮的树格式。

    1.6.0

  112. 瓦尔queryExecution:QueryExecution
  113. defrandomSplit(重量:数组(]):数组(数据集(T]]

    随机将这个数据集提供的重量。

    随机将这个数据集提供的重量。

    权重

    权重分裂,将归一化如果他们不总和为1。

    2.0.0

  114. defrandomSplit(重量:数组(],种子:):数组(数据集(T]]

    随机将这个数据集提供的重量。

    随机将这个数据集提供的重量。

    权重

    权重分裂,将归一化如果他们不总和为1。

    种子

    抽样的种子。对于Java API,使用randomSplitAsList

    2.0.0

  115. defrandomSplitAsList(重量:数组(],种子:):列表(数据集(T]]

    返回一个Java列表,其中包含随机分裂数据集所提供的重量。

    返回一个Java列表,其中包含随机分裂数据集所提供的重量。

    权重

    权重分裂,将归一化如果他们不总和为1。

    种子

    抽样的种子。

    2.0.0

  116. 懒惰的瓦尔抽样:抽样(T]

    代表数据集的内容作为一个抽样T

    代表数据集的内容作为一个抽样T

    1.6.0

  117. def减少(函数:ReduceFunction(T]):T

    (java特定)减少这个数据集的元素使用指定的二元函数。

    (java特定)减少这个数据集的元素使用指定的二元函数。给定的函数必须交换和关联,否则结果可能是不确定的。

    1.6.0

  118. def减少(函数:T,T)⇒T):T

    (Scala-specific)减少这个数据集的元素使用指定的二元函数。

    (Scala-specific)减少这个数据集的元素使用指定的二元函数。给定的函数必须交换和关联,否则结果可能是不确定的。

    1.6.0

  119. def重新分区(partitionExprs:*):数据集(T]

    返回一个新的数据集由给定的分区分区表达式,使用spark.sql.shuffle.partitions分区数量。

    返回一个新的数据集由给定的分区分区表达式,使用spark.sql.shuffle.partitions分区数量。由此产生的数据集是散列分区。

    这是相同的操作为“发布”在SQL (Hive QL)。

    注释
    @varargs ()

    2.0.0

  120. def重新分区(numPartitions:Int,partitionExprs:*):数据集(T]

    返回一个新的数据集由给定的分区分区表达式numPartitions

    返回一个新的数据集由给定的分区分区表达式numPartitions。由此产生的数据集是散列分区。

    这是相同的操作为“发布”在SQL (Hive QL)。

    注释
    @varargs ()

    2.0.0

  121. def重新分区(numPartitions:Int):数据集(T]

    返回一个新的数据集numPartitions分区。

    返回一个新的数据集numPartitions分区。

    1.6.0

  122. defrepartitionByRange(partitionExprs:*):数据集(T]

    返回一个新的数据集由给定的分区分区表达式,使用spark.sql.shuffle.partitions分区数量。

    返回一个新的数据集由给定的分区分区表达式,使用spark.sql.shuffle.partitions分区数量。生成的数据集范围分区。

    必须指定至少一个隔墙被表达。当没有指定明确的排序顺序,“提升null第一”。请注意,每个分区的行不排序结果数据集。

    注意,由于性能的原因这个方法使用抽样估计范围。因此,输出可能并不一致,因为抽样可以返回不同的值。样本大小可以控制的配置spark.sql.execution.rangeExchange.sampleSizePerPartition

    注释
    @varargs ()

    tripwire

  123. defrepartitionByRange(numPartitions:Int,partitionExprs:*):数据集(T]

    返回一个新的数据集由给定的分区分区表达式numPartitions

    返回一个新的数据集由给定的分区分区表达式numPartitions。生成的数据集范围分区。

    必须指定至少一个隔墙被表达。当没有指定明确的排序顺序,“提升null第一”。请注意,每个分区的行不排序结果数据集。

    注意,由于性能的原因这个方法使用抽样估计范围。因此,输出可能并不一致,因为抽样可以返回不同的值。样本大小可以控制的配置spark.sql.execution.rangeExchange.sampleSizePerPartition

    注释
    @varargs ()

    tripwire

  124. def汇总(col1:字符串,关口:字符串*):RelationalGroupedDataset

    创建一个多维汇总当前数据集使用指定的列,所以我们可以运行聚合。

    创建一个多维汇总当前数据集使用指定的列,所以我们可以运行聚合。看到RelationalGroupedDataset对所有可用的聚合函数。

    这是汇总的变种,只能通过现有的组列使用列名(即不能构造表达式)。

    / /计算的平均数值列由部门和组卷起来。ds.rollup (“部门”,“集团”).avg ()/ /计算最大年龄和平均工资,卷起的部门和性别。ds.rollup ($“部门”美元,“性别”).agg (地图(“工资”- >“平均”,“年龄”- >“马克斯”))
    注释
    @varargs ()

    2.0.0

  125. def汇总(关口:*):RelationalGroupedDataset

    创建一个多维汇总当前数据集使用指定的列,所以我们可以运行聚合。

    创建一个多维汇总当前数据集使用指定的列,所以我们可以运行聚合。看到RelationalGroupedDataset对所有可用的聚合函数。

    / /计算的平均数值列由部门和组卷起来。ds.rollup ($“部门”美元,“集团”).avg ()/ /计算最大年龄和平均工资,卷起的部门和性别。ds.rollup ($“部门”美元,“性别”).agg (地图(“工资”- >“平均”,“年龄”- >“马克斯”))
    注释
    @varargs ()

    2.0.0

  126. defsameSemantics(其他:数据集(T]):布尔

    返回真正的当内部逻辑查询计划数据集年代是相等的,因此返回相同的结果。

    返回真正的当内部逻辑查询计划数据集年代是相等的,因此返回相同的结果。

    注释
    @DeveloperApi ()

    3.1.0

    请注意

    这里的平等比较简化的容忍化妆品等不同属性名称。

    ,

    这个API可以比较数据集年代非常快但仍然可以返回数据集返回相同的结果,例如,从不同的计划。这样的假阴性时可以有用的语义缓存作为一个例子。

  127. def样本(withReplacement:布尔,分数:):数据集(T]

    返回一个新的数据集通过抽样的一小部分行,使用一个随机种子。

    返回一个新的数据集通过抽样的一小部分行,使用一个随机种子。

    withReplacement

    样品与替代。

    分数

    分数的行生成、范围[0.0,1.0]。

    1.6.0

    请注意

    这是不能保证提供确切的总数的比例数据集

  128. def样本(withReplacement:布尔,分数:,种子:):数据集(T]

    返回一个新的数据集通过抽样的一小部分行,使用用户提供的种子。

    返回一个新的数据集通过抽样的一小部分行,使用用户提供的种子。

    withReplacement

    样品与替代。

    分数

    分数的行生成、范围[0.0,1.0]。

    种子

    抽样的种子。

    1.6.0

    请注意

    这是不能保证提供准确的数的比例数据集

  129. def样本(分数:):数据集(T]

    返回一个新的数据集通过抽样的一小部分行(不重复),使用一个随机种子。

    返回一个新的数据集通过抽样的一小部分行(不重复),使用一个随机种子。

    分数

    分数的行生成、范围[0.0,1.0]。

    tripwire

    请注意

    这是不能保证提供准确的数的比例数据集

  130. def样本(分数:,种子:):数据集(T]

    返回一个新的数据集通过抽样的一小部分行(不重复),使用用户提供的种子。

    返回一个新的数据集通过抽样的一小部分行(不重复),使用用户提供的种子。

    分数

    分数的行生成、范围[0.0,1.0]。

    种子

    抽样的种子。

    tripwire

    请注意

    这是不能保证提供准确的数的比例数据集

  131. def模式:StructType

    返回数据集的模式。

    返回数据集的模式。

    1.6.0

  132. def选择(U1,U2,U3,的愉快,U5](c1:TypedColumn(T,U1],c2:TypedColumn(T,U2],c3:TypedColumn(T,U3],c4:TypedColumn(T,的愉快],c5:TypedColumn(T,U5]):数据集((U1,U2,U3,的愉快,U5)]

    返回一个新的数据集通过计算给定的为每个元素表达式。

    返回一个新的数据集通过计算给定的为每个元素表达式。

    1.6.0

  133. def选择(U1,U2,U3,的愉快](c1:TypedColumn(T,U1],c2:TypedColumn(T,U2],c3:TypedColumn(T,U3],c4:TypedColumn(T,的愉快]):数据集((U1,U2,U3,的愉快)]

    返回一个新的数据集通过计算给定的为每个元素表达式。

    返回一个新的数据集通过计算给定的为每个元素表达式。

    1.6.0

  134. def选择(U1,U2,U3](c1:TypedColumn(T,U1],c2:TypedColumn(T,U2],c3:TypedColumn(T,U3]):数据集((U1,U2,U3)]

    返回一个新的数据集通过计算给定的为每个元素表达式。

    返回一个新的数据集通过计算给定的为每个元素表达式。

    1.6.0

  135. def选择(U1,U2](c1:TypedColumn(T,U1],c2:TypedColumn(T,U2]):数据集((U1,U2)]

    返回一个新的数据集通过计算给定的为每个元素表达式。

    返回一个新的数据集通过计算给定的为每个元素表达式。

    1.6.0

  136. def选择(U1](c1:TypedColumn(T,U1]):数据集(U1]

    返回一个新的数据集通过计算给定的每个元素的表达式。

    返回一个新的数据集通过计算给定的每个元素的表达式。

    瓦尔ds =Seq(1,2,3).toDS ()瓦尔newDS = ds.select (expr (“价值+ 1”)。as [Int])

    1.6.0

  137. def选择(上校:字符串,关口:字符串*):DataFrame

    选择一组列。

    选择一组列。这是一个的变体选择只能选择现有列使用列名(即不能构造表达式)。

    / /下面两个是等价的:ds.select (“可乐”,“colB”)ds.select(美元)“可乐”美元,“colB”)
    注释
    @varargs ()

    2.0.0

  138. def选择(关口:*):DataFrame

    选择一组基于列的表达式。

    选择一组基于列的表达式。

    ds.select ($“可乐”美元,“colB”+1)
    注释
    @varargs ()

    2.0.0

  139. defselectExpr(exprs:字符串*):DataFrame

    选择一组SQL表达式。

    选择一组SQL表达式。这是一个的变体选择接受SQL表达式。

    / /以下是等价的:ds.selectExpr (“可乐”,“colB新名称”,“abs (colC)”)ds.select (expr (“可乐”),expr (“colB新名称”),expr (“abs (colC)”))
    注释
    @varargs ()

    2.0.0

  140. defselectUntyped(列:TypedColumn_,_ *):数据集(_)

    内部helper函数返回元组的建筑类型的选择。

    内部helper函数返回元组的建筑类型的选择。为简单起见,代码重用,我们这样做没有帮助的类型系统,然后使用辅助函数适当所面临的用户界面。

    属性
    受保护的
  141. defsemanticHash():Int

    返回一个hashCode逻辑查询计划的反对数据集

    返回一个hashCode逻辑查询计划的反对数据集

    注释
    @DeveloperApi ()

    3.1.0

    请注意

    不同的标准hashCode,计算散列的查询计划简化容忍化妆品等不同属性名称。

  142. def显示(numRows:Int,截断:Int,垂直:布尔):单位

    以表格形式显示数据集。

    以表格形式显示数据集。例如:

    年月AVG (Adj关闭)马克斯(Adj关闭)1980年120.5032180.5951031981年010.5232890.5703071982年020.4365040.4752561983年030.4105160.4421941984年040.4500900.483521

    如果垂直启用时,这个命令打印输出行垂直(一行/列值)?

    0- - - - - - - - - - - - - - - - - - - |1980年月|12AVG (Adj关闭)|0.503218AVG (Adj关闭)|0.5951031- - - - - - - - - - - - - - - - - - - |1981年月|01AVG (Adj关闭)|0.523289AVG (Adj关闭)|0.5703072- - - - - - - - - - - - - - - - - - - |1982年月|02AVG (Adj关闭)|0.436504AVG (Adj关闭)|0.4752563- - - - - - - - - - - - - - - - - - - |1983年月|03AVG (Adj关闭)|0.410516AVG (Adj关闭)|0.4421944- - - - - - - - - - - - - - - - - - - |1984年月|04AVG (Adj关闭)|0.450090AVG (Adj关闭)|0.483521
    numRows

    显示的行数

    截断

    如果设置为0,截断字符串截断人物和所有细胞将右对齐。

    垂直

    如果设置为真,打印输出行垂直(一行/列值)。

    tripwire

  143. def显示(numRows:Int,截断:Int):单位

    以表格形式显示数据集。

    以表格形式显示数据集。例如:

    年月AVG (Adj关闭)马克斯(Adj关闭)1980年120.5032180.5951031981年010.5232890.5703071982年020.4365040.4752561983年030.4105160.4421941984年040.4500900.483521
    numRows

    显示的行数

    截断

    如果设置为0,截断字符串截断人物和所有细胞将右对齐。

    1.6.0

  144. def显示(numRows:Int,截断:布尔):单位

    以表格形式显示数据集。

    以表格形式显示数据集。例如:

    年月AVG (Adj关闭)马克斯(Adj关闭)1980年120.5032180.5951031981年010.5232890.5703071982年020.4365040.4752561983年030.4105160.4421941984年040.4500900.483521
    numRows

    显示的行数

    截断

    是否截断长字符串。如果这是真的,超过20个字符的字符串将被截断,所有的细胞都将正确对齐

    1.6.0

  145. def显示(截断:布尔):单位

    显示数据集的前20名行以表格形式。

    显示数据集的前20名行以表格形式。

    截断

    是否截断长字符串。如果这是真的,超过20个字符的字符串将被截断,所有的细胞都将正确对齐

    1.6.0

  146. def显示():单位

    显示数据集的前20名行以表格形式。

    显示数据集的前20名行以表格形式。超过20个字符的字符串将被截断,所有细胞都将正确对齐。

    1.6.0

  147. def显示(numRows:Int):单位

    以表格形式显示数据集。

    以表格形式显示数据集。超过20个字符的字符串将被截断,所有细胞都将正确对齐。例如:

    年月AVG (Adj关闭)马克斯(Adj关闭)1980年120.5032180.5951031981年010.5232890.5703071982年020.4365040.4752561983年030.4105160.4421941984年040.4500900.483521
    numRows

    显示的行数

    1.6.0

  148. def排序(sortExprs:*):数据集(T]

    返回一个新的数据集按给定的表达式。

    返回一个新的数据集按给定的表达式。例如:

    ds.sort ($“col1”美元,“col2”.desc)
    注释
    @varargs ()

    2.0.0

  149. def排序(sortCol:字符串,sortCols:字符串*):数据集(T]

    返回一个新的数据集按指定的列,以升序排序。

    返回一个新的数据集按指定的列,以升序排序。

    / /以下3是等价的ds.sort (“sortcol”)ds.sort(美元)“sortcol”)ds.sort(美元)“sortcol”.asc)
    注释
    @varargs ()

    2.0.0

  150. defsortWithinPartitions(sortExprs:*):数据集(T]

    返回一个新的数据集,每个分区按给定的表达式。

    返回一个新的数据集,每个分区按给定的表达式。

    这是相同的操作为“排序方式”在SQL (Hive QL)。

    注释
    @varargs ()

    2.0.0

  151. defsortWithinPartitions(sortCol:字符串,sortCols:字符串*):数据集(T]

    返回一个新的数据集,每个分区按给定的表达式。

    返回一个新的数据集,每个分区按给定的表达式。

    这是相同的操作为“排序方式”在SQL (Hive QL)。

    注释
    @varargs ()

    2.0.0

  152. 懒惰的瓦尔sparkSession:SparkSession
    注释
    @transient ()
  153. 懒惰的瓦尔sqlContext:SQLContext
    注释
    @transient ()
  154. def统计:DataFrameStatFunctions

    返回一个DataFrameStatFunctions工作统计功能的支持。

    返回一个DataFrameStatFunctions工作统计功能的支持。

    / /寻找频繁项列名称“a”。ds.stat.freqItems (Seq(“一个”))

    1.6.0

  155. defstorageLevel:StorageLevel

    得到数据集的当前存储水平,或StorageLevel。如果不坚持。

    得到数据集的当前存储水平,或StorageLevel。如果不坚持。

    魅惑

  156. def总结(统计:字符串*):DataFrame

    计算指定的统计数字和字符串列。

    计算指定的统计数字和字符串列。可用的统计信息:

    • 的意思是
    • stddev
    • 最小值
    • 马克斯
    • 任意指定近似百分位数比例(如75%)
    • count_distinct
    • approx_count_distinct

    如果没有统计数据,这个函数计算统计,意思是,stddev,分钟,大约四分位数(百分位数为25%,50%,75%),和马克斯。

    这个函数是用于探索性数据分析,我们不能保证向后兼容的模式产生的数据集。如果你想通过编程计算汇总统计,使用gg函数来代替。

    ds.summary(),告诉()/ /输出:/ /总结时代高度/ /计数10.0 - 10.0/ / 53.3 - 178.05/ / stddev 11.6 - 15.7/ /分钟18.0 - 163.0/ / 24.0 - 176.0 25%/ / 24.0 - 176.0 50%/ / 32.0 - 180.0 75%/ /最大92.0 - 192.0
    ds.summary (“数”,“最小值”,“25%”,“75%”,“马克斯”),告诉()/ /输出:/ /总结时代高度/ /计数10.0 - 10.0/ /分钟18.0 - 163.0/ / 24.0 - 176.0 25%/ / 32.0 - 180.0 75%/ /最大92.0 - 192.0

    为特定的列首先选择做一个总结:

    ds.select (“年龄”,“高度”).summary(),告诉()

    指定输出自定义统计总结:

    ds.summary (“数”,“count_distinct”),告诉()

    默认情况下不包括不同的计数。

    您还可以运行更快近似的数量:

    ds.summary (“数”,“approx_count_distinct”),告诉()

    另请参阅描述基本统计信息。

    统计数据

    从上面数据列表来计算。

    注释
    @varargs ()

    tripwire

  157. 最后def同步(T0](arg0:⇒T0):T0
    定义类
    AnyRef
  158. def尾巴(护士:Int):数组(T]

    返回最后一个n行数据集。

    返回最后一个n行数据集。

    运行尾巴需要将数据移动到应用程序的驱动程序的过程,而且这样做非常大的n可以用OutOfMemoryError司机崩溃过程。

    3.0.0

  159. def(护士:Int):数组(T]

    返回第一个n行数据集。

    返回第一个n行数据集。

    运行到需要移动数据应用程序的驱动程序的过程,而且这样做非常大的n可以用OutOfMemoryError司机崩溃过程。

    1.6.0

  160. deftakeAsList(护士:Int):列表(T]

    返回第一个n行数据集的列表。

    返回第一个n行数据集的列表。

    运行到需要移动数据应用程序的驱动程序的过程,而且这样做非常大的n可以用OutOfMemoryError司机崩溃过程。

    1.6.0

  161. deftoDF(colNames:字符串*):DataFrame

    这种强类型集合的数据转换为通用的DataFrame与列重命名。

    这种强类型集合的数据转换为通用的DataFrame与列重命名。这可以很方便的转换从一个元组成的抽样DataFrame用有意义的名称。例如:

    瓦尔抽样:抽样((Int,字符串)=…rdd.toDF ()/ /这个隐式转换创建一个DataFrame列名“_1”、“_2”rdd.toDF (“id”,“名称”)/ /这将创建一个DataFrame列名“id”和“名称”
    注释
    @varargs ()

    2.0.0

  162. deftoDF():DataFrame

    这种强类型集合的数据转换为通用Dataframe。

    这种强类型集合的数据转换为通用Dataframe。与强类型数据集操作的对象,一个Dataframe返回通用对象允许访问的字段顺序或名字。

    1.6.0

  163. deftoJSON:数据集(字符串]

    返回数据集的数据集的内容JSON字符串。

    返回数据集的数据集的内容JSON字符串。

    2.0.0

  164. deftoJavaRDD:JavaRDD(T]

    返回数据集的内容JavaRDDT年代。

    返回数据集的内容JavaRDDT年代。

    1.6.0

  165. deftoLocalIterator():迭代器(T]

    返回一个迭代器在这个数据集包含所有行。

    返回一个迭代器在这个数据集包含所有行。

    迭代器将使用尽可能多的内存最大的分区数据集。

    2.0.0

    请注意

    这将导致多个火花工作,如果输入数据集是一个宽变换的结果(例如,加入不同的分割者),为了避免再计算输入数据集应该先被缓存。

  166. deftoString():字符串
    定义类
    数据集→AnyRef→任何
  167. def变换(U](t: (数据集(T])⇒数据集(U]):数据集(U]

    简洁的语法链接自定义转换。

    简洁的语法链接自定义转换。

    deffeaturize (ds:数据集[T]):数据集(U) =…ds .transform (featurize) .transform (…)

    1.6.0

  168. def联盟(其他:数据集(T]):数据集(T]

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。

    这相当于UNION ALL在SQL。做一组sql风格联盟(元素),重复数据删除,使用这个函数了截然不同的

    还在SQL作为标准,这个函数解决列位置(而不是按名称):

    瓦尔df1 =Seq((1,2,3).toDF (“col0”,“col1”,“col2”)瓦尔df2 =Seq((4,5,6).toDF (“col1”,“col2”,“col0”)df1.union (df2),告诉/ /输出:/ / +——+——+——+/ / | col0 | col1 | col2 |/ / +——+——+——+/ / | 1 | 2 | 3 |/ / | 4 | 5 | 6 |/ / +——+——+——+

    注意,模式中的列位置不一定与强类型对象中的字段在一个数据集。这个函数解决模式中列的位置,而不是强类型对象中的字段。使用unionByName解决列类型对象的字段名。

    2.0.0

  169. defunionAll(其他:数据集(T]):数据集(T]

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。这是一个别名联盟

    这相当于UNION ALL在SQL。做一组sql风格联盟(元素),重复数据删除,使用这个函数了截然不同的

    还在SQL作为标准,这个函数解决列的位置(而不是按名称)。

    2.0.0

  170. defunionByName(其他:数据集(T],allowMissingColumns:布尔):数据集(T]

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。

    这个函数和之间的区别联盟这个函数是解决列的名字(而不是位置)。

    当参数allowMissingColumns真正的,在这个和其他列名的集合数据集可以不同;丢失的列会充满null。此外,失踪的列数据集最后将被添加在联盟的模式结果:

    瓦尔df1 =Seq((1,2,3).toDF (“col0”,“col1”,“col2”)瓦尔df2 =Seq((4,5,6).toDF (“col1”,“col0”,“col3”)df1.unionByName (df2真正的),告诉/ /输出:“col3”缺少左df1和添加的模式。/ / +——+——+——+——+/ / | col0 | col1 | col2 | col3 |/ / +——+——+——+——+/ / | 1 | 2 | 3 |零|/ / | 5 | 4 |零| 6 |/ / +——+——+——+——+df2.unionByName (df1真正的),告诉/ /输出:“col2”缺少左df2和添加的模式。/ / +——+——+——+——+/ / | col1 | col0 | col3 | col2 |/ / +——+——+——+——+/ / | 4 | 5 | 6 |零|/ / | 2 | 1 | 3 | | null/ / +——+——+——+——+

    注意,这个支持嵌套列结构和数组类型。与allowMissingColumns,失踪的嵌套结构具有相同名称的列的列也会充满了空值和添加到结构的结束。目前不支持嵌套列映射类型。

    3.1.0

  171. defunionByName(其他:数据集(T]):数据集(T]

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。

    返回一个新的数据集,其中包含联盟在这个数据集的行,另一个数据集。

    这是不同的UNION ALL结合不同的在SQL。做一组sql风格联盟(元素),重复数据删除,使用这个函数了截然不同的

    这个函数和之间的区别联盟这个函数是解决列的名字(而不是位置):

    瓦尔df1 =Seq((1,2,3).toDF (“col0”,“col1”,“col2”)瓦尔df2 =Seq((4,5,6).toDF (“col1”,“col2”,“col0”)df1.unionByName (df2),告诉/ /输出:/ / +——+——+——+/ / | col0 | col1 | col2 |/ / +——+——+——+/ / | 1 | 2 | 3 |/ / | 6 | 4 | 5 |/ / +——+——+——+

    注意,这个支持嵌套列结构和数组类型。目前不支持嵌套列映射类型。

    tripwire

  172. defunpersist():数据集.this.type

    数据标记为非持久性,并删除所有从内存和磁盘块。

    数据标记为非持久性,并删除所有从内存和磁盘块。这不会un-persist任何缓存的数据是建立在这个数据集。

    1.6.0

  173. defunpersist(屏蔽:布尔):数据集.this.type

    数据标记为非持久性,并删除所有从内存和磁盘块。

    数据标记为非持久性,并删除所有从内存和磁盘块。这不会un-persist任何缓存的数据是建立在这个数据集。

    阻塞

    是否阻止,直到所有的块都删除。

    1.6.0

  174. 最后def等待():单位
    定义类
    AnyRef
    注释
    @throws ()
  175. 最后def等待(arg0:,__arg1:Int):单位
    定义类
    AnyRef
    注释
    @throws ()
  176. 最后def等待(arg0:):单位
    定义类
    AnyRef
    注释
    @throws () @native ()
  177. def在哪里(conditionExpr:字符串):数据集(T]

    使用给定的SQL表达式过滤器行。

    使用给定的SQL表达式过滤器行。

    peopleDs.where (“年龄> 15”)

    1.6.0

  178. def在哪里(条件:):数据集(T]

    过滤器使用给定的条件行。

    过滤器使用给定的条件行。这是一个别名过滤器

    / /以下是等价的:peopleDs.filter ($“年龄”>15)peopleDs.where(美元)“年龄”>15)

    1.6.0

  179. defwithColumn(colName:字符串,上校:):DataFrame

    返回一个新的数据集通过添加一个列或替换现有的列有相同的名字。

    返回一个新的数据集通过添加一个列或替换现有的列有相同的名字。

    的表达式必须参考这个数据集提供的属性。添加一个列是一个错误,是指其他的数据集。

    2.0.0

    请注意

    该方法引入了一个投影在内部。因此,多次调用它,例如,通过循环以增加多个列可以产生大的计划,甚至可能导致性能问题StackOverflowException。为了避免这种情况,使用选择与多个列。

  180. defwithColumnRenamed(existingName:字符串,新名称:字符串):DataFrame

    返回一个新的数据集与一列重命名。

    返回一个新的数据集与一列重命名。这是一个操作模式不包含existingName如果。

    2.0.0

  181. defwithColumns(colsMap:地图(字符串,]):DataFrame

    (java特定)返回一个新的数据集通过添加列或替换现有的列有相同的名字。

    (java特定)返回一个新的数据集通过添加列或替换现有的列有相同的名字。

    colsMap列名的地图和列,列必须参考这个数据集提供的属性。这是一个错误添加列是指其他的数据集。

    3.3.0

  182. defwithColumns(colsMap:地图(字符串,]):DataFrame

    (Scala-specific)返回一个新的数据集通过添加列或替换现有的列有相同的名字。

    (Scala-specific)返回一个新的数据集通过添加列或替换现有的列有相同的名字。

    colsMap列名的地图和列,列必须参考这个数据集提供的属性。这是一个错误添加列是指其他的数据集。

    3.3.0

  183. defwithMetadata(columnName:字符串,元数据:元数据):DataFrame

    返回一个新的数据集通过更新现有列元数据。

    返回一个新的数据集通过更新现有列元数据。

    3.3.0

  184. defwithWatermark(eventTime:字符串,delayThreshold:字符串):数据集(T]

    定义了一个事件时间水印数据集

    定义了一个事件时间水印数据集。水印追踪一个时间点之前,我们认为,迟到没有更多的数据。

    火花将使用这个水印几个目的:

    • 知道当一个给定的时间窗口聚合可以完成,因此可以使用输出模式时发出不允许更新。
    • 最小化的状态,我们需要保持正在进行的聚合,mapGroupsWithStatedropDuplicates操作符。

    当前水印是通过查看计算马克斯(eventTime)查询中看到的所有分区-用户指定delayThreshold。由于成本的协调跨分区这个值,实际水印只保证至少使用delayThreshold在实际的事件时间。在某些情况下,我们可能仍然过程记录,超过到达delayThreshold迟了。

    eventTime

    列的名称,它包含的活动时间。

    delayThreshold

    的最小延迟等迟到的数据,相对于最新的记录,一直在处理一个区间的形式(如。“一分钟”或“5小时”)。注意:这个不应该是负的。

    魅惑

  185. def:DataFrameWriter(T]

    界面非流式数据集的内容保存到外部存储。

    界面非流式数据集的内容保存到外部存储。

    1.6.0

  186. defwriteStream:DataStreamWriter(T]

    界面流数据集的内容保存到外部存储。

    界面流数据集的内容保存到外部存储。

    2.0.0

  187. def用writeTo(表:字符串):DataFrameWriterV2(T]

    创建一个为v2消息编写配置构建器。

    创建一个为v2消息编写配置构建器。

    这个建筑是用来配置和执行写操作。例如,添加到现有表,运行:

    df.writeTo (“catalog.db.table”).append ()

    这也可以用于创建或替换现有的表:

    df.writeTo (“catalog.db.table”).partitionedBy(美元)“上校”).createOrReplace ()

    3.0.0

弃用价值成员

  1. def爆炸(一个,B](inputColumn:字符串,outputColumn:字符串)(福:(一个)⇒TraversableOnce(B])(隐式的arg0:scala.reflect.api.JavaUniverse.TypeTag(B]):DataFrame

    (Scala-specific)返回一个新的数据集,单个列已扩大到零个或多个行提供的功能。

    (Scala-specific)返回一个新的数据集,单个列已扩大到零个或多个行提供的功能。这是类似于一个侧面图在HiveQL。所有列的输入行隐式地与每个值输出的功能。

    考虑到这是弃用,作为一种替代方法,您可以使用爆炸列functions.explode ():

    ds.select(爆炸(分裂($“单词”,”“)。as (“单词”))

    orgydF4y2BaflatMap ():

    ds.flatMap (_.words.split (”“))
    注释
    @deprecated
    弃用

    (因为2.0.0版本)使用flatMap()或选择与functions.explode () ()

    2.0.0

  2. def爆炸(<:产品](输入:*)(福:()⇒TraversableOnce(一个])(隐式的arg0:scala.reflect.api.JavaUniverse.TypeTag(一个]):DataFrame

    (Scala-specific)返回一个新的数据集,每一行已扩大到零个或多个行提供的功能。

    (Scala-specific)返回一个新的数据集,每一行已扩大到零个或多个行提供的功能。这是类似于一个侧面图在HiveQL。输入的列行是隐式地与每一行输出的功能。

    考虑到这是弃用,作为一种替代方法,您可以使用爆炸列functions.explode ()orgydF4y2BaflatMap ()。下面的例子使用这些替代计算给定单词书包含的数量:

    情况下书(标题:字符串单词:字符串)瓦尔ds:数据集(书)瓦尔allWords = ds.select(美元)“标题”爆炸(分裂($“单词”,”“)。as (“单词”))瓦尔bookCountPerWord = allWords.groupBy (“单词”).agg (count_distinct (“标题”))

    使用flatMap ()这同样可以爆炸:

    ds.flatMap (_.words.split (”“))
    注释
    @deprecated
    弃用

    (因为2.0.0版本)使用flatMap()或选择与functions.explode () ()

    2.0.0

  3. defregisterTempTable(表名:字符串):单位

    注册这个数据集作为一个临时表使用给定的名称。

    注册这个数据集作为一个临时表使用给定的名称。这个临时表与生命SparkSession用于创建数据集。

    注释
    @deprecated
    弃用

    (因为2.0.0版本)使用createOrReplaceTempView (viewName)。

    1.6.0

继承自可序列化的

继承自可序列化的

继承自AnyRef

继承自任何

行动

基本数据集函数

流媒体

类型转换

无类型转换

未分组的