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

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

当以另外编程语言运行SQL 时, 查询结果将以 Dataset/DataFrame形式返回.您也可以使用 命令行或者通过 JDBC/ODBC与 SQL 接口交互....需要使用大写字母引用 Spark SQL 这些名称。 性能调优 对于某些工作负载,可以通过缓存内存数据打开一些实验选项提高性能。...在内存缓存数据 Spark SQL 可以通过调用 spark.catalog.cacheTable("tableName")  dataFrame.cache() 来使用内存列格式缓存表。...内存缓存配置可以使用 SparkSession 上 setConf 方法使用 SQL 运行 SET key=value 命令完成。...对于 JSON 持久表(即表元数据存储 Hive Metastore),用户可以使用 REFRESH TABLE SQL 命令 HiveContext  refreshTable 方法,把那些新文件列入到表

25.9K80

spark2SparkSession思考与总结2:SparkSession有哪些函数及作用是什么

conf函数 public RuntimeConfig conf() 运行spark 配置接口 通过这个接口用户可以设置和获取与spark sql相关所有Spark 和Hadoop配置.当获取config...或则可以通过调用 Encoders上静态方法创建。 例子: [Scala] 纯文本查看 复制代码 ?...通常自动创建通过SparkSessionimplicits 或则可以通过调用 Encoders上静态方法创建。...这个方法需要encoder (将T类型JVM对象转换为内部Spark SQL表示形式), 或则可以通过调用 Encoders上静态方法创建。...table函数 public Dataset table(String tableName)返回指定table/view作为DataFrame tableName可以合格或则不合格名称。

3.5K50
您找到你想要的搜索结果了吗?
是的
没有找到

Spark SQLDataFrame以及 Datasets 编程指南 - For 2.0

可以使用 SQL 语句和 Dataset API Spark SQL 模块交互。无论你使用哪种语言 API 执行计算,都会使用相同引擎。...用来保存数据到永久表 DataFrame 可以通过调用 SparkSession table 方法创建。...缓存数据至内存 Spark SQL 通过调用 spark.cacheTable dataFrame.cache() 将表以列式形式缓存到内存。...Spark SQL会只会缓存需要列并且会进行压缩以减小内存消耗和 GC 压力。可以调用 spark.uncacheTable("tableName") 将表内存移除。...200 执行 join 和聚合操作时,shuffle 操作分区数 分布 SQL 引擎 使用 JDBC/ODBC 命令行接口,Spark SQL可以作为一个分布查询引擎。

3.9K20

Apache Spark 2.2.0 中文文档 - Structured Streaming 编程指南 | ApacheCN

可以使用 Scala , Java , Python R  Dataset/DataFrame API 表示 streaming aggregations (流聚合), event-time...要实际执行此示例代码,您可以自己 Spark 应用程序 编译代码,或者简单 运行示例 一旦下载了 Spark 。我们正在展示是后者。...对于 ad-hoc use cases (特殊用例),您可以通过将 spark.sql.streaming.schemaInference 设置为 true 重新启用 schema inference...相反,这些功能可以通过启动 streaming query 完成(参见下一节)。 count() - 无法从 streaming Dataset 返回 single count 。...但是 Complete Mode 模式下,重新启动查询将重新创建完整表。 Table name is the query name.

5.2K60

基于Apache Hudi + MinIO 构建流式数据湖

通常系统使用 Apache Parquet ORC 等开放文件格式将数据写入一次,并将其存储高度可扩展对象存储分布文件系统之上。Hudi 作为数据平面摄取、转换和管理这些数据。...时间线存储 .hoodie 文件夹我们例子是存储桶。事件将保留在时间线上直到它们被删除。整个表和文件组都存在时间线,通过将增量日志应用于原始基本文件,可以重建文件组。...查询数据 让我们将 Hudi 数据加载到 DataFrame 运行示例查询。...每次写入 Hudi 表都会创建快照。将快照视为可用于时间旅行查询表版本。尝试一些时间旅行查询(必须更改时间戳以与相关)。...请注意如果运行这些命令,它们将改变 Hudi 表模式,使其与本教程不同。

1.9K10

Structured Streaming 编程指南

可以Scala,Java,PythonR中使用 Dataset/DataFrame API 表示流聚合,事件时间窗口(event-time windows),流到批处理连接(stream-to-batch...你也可以通过spark.sql.streaming.schemaInference 设置为 true 重新启用 schema 推断。...为启动此功能,Spark 2.1,引入了 watermark(水印),使引擎自动跟踪数据的当前事件时间,并相应清理旧状态。...它们是立即运行查询并返回结果操作,这在流数据集上没有意义。相反,这些功能可以通过启动流式查询完成。 count():无法从流式 Dataset 返回单个计数。...失败主动 shutdown 情况下,可以恢复之前查询进度和状态并从该处继续运行

2K20

2021年大数据Spark(四十八):Structured Streaming 输出终端位置

---- 输出终端/位置 Structured Streaming 非常提出了输入(Source)、执行(StreamExecution)、输出(Sink)3个组件,并且每个组件做到fault-tolerant...,需要两个参数:微批次输出数据DataFrameDataset、微批次唯一ID。...使用foreachBatch函数输出时,以下几个注意事项: 1.重用现有的批处理数据源,可以每个微批次输出上使用批处理数据输出Output; 2.写入多个位置,如果要将流式查询输出写入多个位置,则可以简单多次写入输出...但是,每次写入尝试都会导致重新计算输出数据(包括可能重新读取输入数据)。要避免重新计算,应该缓存cache输出 DataFrame/Dataset,将其写入多个位置,然后 uncache 。...3.应用其他DataFrame操作,流式DataFrame不支持许多DataFrameDataset操作,使用foreachBatch可以每个微批输出上应用其中一些操作,但是,必须自己解释执行该操作端到端语义

1.2K40

Spark

RDD通常通过Hadoop上⽂件,即HDFS或者HIVE表创建,还可以通过应⽤程序集合创建;   4. RDD最重要特性就是容错性,可以⾃动从节点失败恢复过来。...如果需要使用多次则使用cachepersist操作切断依赖。 9 广播变量   Spark 广播变量是一种集群缓存只读变量机制,可以有效减少数据传输量,提高作业执行效率。...分布缓存:广播变量会被序列化后缓存在 Executor 内存可以 Executor 上进行反序列化,而不需要重新传输数据。...DataFrame可以通过Spark SQLAPI进行操作,可以使用SQL语句进行查询。 DataSetSpark 1.6版本引入新概念,是一种强类型分布数据集合。...Spark on HiveSpark将Hive表作为DataFrameDataset进行处理,并使用Spark SQL执行Hive查询。

26430

Hudi管理与运维

管理员/运维人员可以通过以下方式了解Hudi数据集/管道 通过Admin CLI进行管理 Graphite指标 Hudi应用程序Spark UI 本节简要介绍了每一种方法,并提供了有关故障排除一些常规指南...| 注意 必须在其他写入/摄取程序没有运行情况下执行以下命令。 有时,有必要从压缩计划删除fileId以便加快取消压缩操作。...如果发生部分故障,则压缩操作可能与文件切片状态不一致。当运行压缩验证时,会注意到无效压缩操作(如果有的话)。...以下元数据已被添加到每条记录可以通过标准Hadoop SQL引擎(Hive/Presto/Spark)检索,更容易地诊断问题严重性。...Spark故障 典型upsert() DAG如下所示。请注意,Hudi客户端会缓存中间RDD,以智能并调整文件大小和Spark并行度。

9K21

基于Apache Hudi + MinIO 构建流式数据湖

通常系统使用 Apache Parquet ORC 等开放文件格式将数据写入一次,并将其存储高度可扩展对象存储分布文件系统之上。Hudi 作为数据平面摄取、转换和管理这些数据。...时间线存储 .hoodie 文件夹我们例子是存储桶。事件将保留在时间线上直到它们被删除。整个表和文件组都存在时间线,通过将增量日志应用于原始基本文件,可以重建文件组。...查询数据 让我们将 Hudi 数据加载到 DataFrame 运行示例查询。...每次写入 Hudi 表都会创建快照。将快照视为可用于时间旅行查询表版本。尝试一些时间旅行查询(必须更改时间戳以与相关)。...请注意如果运行这些命令,它们将改变 Hudi 表模式,使其与本教程不同。

1.5K20

大数据技术Spark学习

2.2 IDEA 创建 Spark SQL 程序 Spark SQL IDEA 中程序打包和运行方式都和 Spark Core 类似,Maven 依赖需要添加新依赖项:         <dependency...SQL 可以通过 JDBC 从关系型数据库读取数据方式创建 DataFrame通过DataFrame 一系列计算后,还可以将数据再写回关系型数据库。...JDBC 服务器作为一个独立 Spark 驱动器程序运行可以多用户之间共享。任意一个客户端都可以在内存缓存数据表,对表进行查询。集群资源以及缓存数据都在所有用户之间共享。   ...connect jdbc:hive2://hadoop102:10000    Beeline 客户端,你可以使用标准 HiveQL 命令创建、列举以及查询数据表。...Spark SQL CLI   Spark SQL CLI 可以很方便本地运行 Hive 元数据服务以及从命令行执行查询任务。

5.2K60

在所有Spark模块,我愿称SparkSQL为最强!

SparkSQL 1.6 时代,增加了一个新API叫做 DatasetDataset 统一和结合了 SQL 访问和命令 API 使用,这是一个划时代进步。... Dataset 可以轻易做到使用 SQL 查询并且筛选数据,然后使用命令 API 进行探索分析。...而右侧DataFrame却提供了详细结构信息,使得Spark SQL可以清楚知道该数据集中包含哪些列,每列名称和类型各是什么。 DataFrame多了数据结构信息,即schema。...可以把它当做数据库一张表对待,DataFrame也是懒执行。性能上比RDD要高,主要原因:优化执行计划:查询计划通过Spark catalyst optimiser进行优化。...比如在foreach函数,将RDD中所有数据写MySQL,那么如果是普通foreach算子,就会一条数据一条数据写,每次函数调用可能就会创建一个数据库连接,此时就势必会频繁创建和销毁数据库连接,

1.6K20

CDP运营数据库 (COD) 事务支持

第二部分,我们将通过分步示例演示如何在 COD 环境中使用事务。查看如何在 COD 中使用事务。...COD 事务支持概述 事务是数据库中一系列一个多个更改,必须按顺序完成取消以确保完整性和一致性。 COD 事务支持使您能够执行复杂分布事务并运行原子跨行和跨表数据库操作。...这些步骤附件 1有所描述。 如何在不同应用程序中使用事务 您可以流式应用程序 OLTP(在线事务处理)应用程序以及面向批处理 Spark 应用程序中使用 COD 事务。...应用程序 如果与其他作业流应用程序有任何冲突,您可以使用 Phoenix-Spark 连接器事务重试 Spark 任务。...这些操作使用不同工具以不同方式执行。 本节,您可以找到流行 SQL 开发工具(如DbVisualizer )链接和示例片段。

1.3K10

重磅 | Delta Lake正式加入Linux基金会,重塑数据湖存储标准

Delta Lake 还提供了强大序列化隔离级别,允许工程师不断对目录表进行写操作,而用户可以不断从相同目录读取数据。读取者将看到读操作开始时存在最新快照。...如果 DataFrame 中有额外不存在,那么该操作将抛出异常。Delta Lake 具有可以添加新列 DDL 和自动更新模式能力。...互斥:只有一个写入者能够最终目的创建重命名)文件。 一致性清单:一旦目录写入了一个文件,该目录未来所有清单都必须返回该文件。 Delta Lake 仅在 HDFS 上提供所有这些保证。...import org.apache.spark.sql.SparkSession; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row...,创建 Delta 表时候,生成了一个 json 文件,这个文件也是 Delta transaction log,也就是事务日志,所以事务相关操作都会记录到这个日志可以做 replay 使用

95930

了解Spark SQLDataFrame和数据集

Spark SQL 它是一个用于结构化数据处理Spark模块,它允许你编写更少代码完成任务,并且底层,它可以智能执行优化。SparkSQL模块由两个主要部分组成。...Spark SQL模块一个很酷功能是能够执行SQL查询执行数据处理,查询结果将作为数据集数据框返回。...创建DataFrames 创建DataFrame方法有几种,其中一个常见方法是需要隐提供模式。...这意味着,如果数据集被缓存在内存,则内存使用量将减少,以及SPark在混洗过程需要通过网络传输字节数减少。...创建数据集 有几种方法可以创建数据集: · 第一种方法是使用DataFrameas(symbol)函数将DataFrame转换为DataSet

1.4K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券