使用查询编辑器获取任务结果
单条 SQL 任务在控制台最多展示1000条数据结果,使用 API 及 JDBC 提交的 SQL 任务不受限制。
可通过运行历史查询单个 Session 下3个月的查询历史,更多历史记录查询方式可参见 任务历史记录。
任务结果的输出格式配置
执行数据探索后的结果是以 csv 格式的方式保存的,保存方式为调用 Spark 的 DataFrame.write 的方式。如果引擎版本在2023年4月之后,您可以实现探索结果可配置。
1、配置输出到 csv 中的结果的格式。可以支持以下参数。
参数 | 默认值 | 备注 |
livy.sql.result.format.option.sep livy.sql.result.format.option.delimiter | , | csv 存储时每列之间的分隔符,默认英文逗号 |
livy.sql.result.format.option.encoding livy.sql.result.format.option.charset | UTF-8 | 字符串编码格式。 例如:UTF-8、US-ASCII、ISO-8859-1、UTF-16BE、UTF-16LE、UTF-16 |
livy.sql.result.format.option.quote | \\" | 引号是单引号还是双引号,注意使用转义符 |
livy.sql.result.format.option.escape | \\\\ | 逃逸字符,注意使用转义符 |
livy.sql.result.format.option.charToEscapeQuoteEscaping | | 引号内部需要逃逸的字符 |
livy.sql.result.format.option.comment | \\u0000 | 备注信息 |
livy.sql.result.format.option.header | false | 存在表头 |
livy.sql.result.format.option.inferSchema | false | 推断每列类型,不推断则每一列均为字符串 |
livy.sql.result.format.option.ignoreLeadingWhiteSpace | true | 忽略开头的空字符串 |
livy.sql.result.format.option.ignoreTrailingWhiteSpace | true | 忽略结尾的空字符串 |
livy.sql.result.format.option.columnNameOfCorruptRecord | _corrupt_record | 无法转换的列的列名,该参数受spark.sql.columnNameOfCorruptRecord 影响,以表配置为主 |
livy.sql.result.format.option.nullValue | | null 的存储格式,默认为空字符串,此时按emptyValue 的方式写 |
livy.sql.result.format.option.nanValue | NaN | 非数值类型的值的存储格式 |
livy.sql.result.format.option.positiveInf | Inf | 正无穷大的存储格式 |
livy.sql.result.format.option.negativeInf | -Inf | 负无穷大的存储格式 |
livy.sql.result.format.option.compression或codec | | 压缩算法的类名,默认不压缩,可以使用简称,bzip2、deflate、gzip、lz4、snappy |
livy.sql.result.format.option.timeZone | 系统默认时区 | 默认时区,该参数取值受spark.sql.session.timeZone 影响,例如Asia/Shanghai,以表配置为主 |
livy.sql.result.format.option.locale | en-US | 语言类型 |
livy.sql.result.format.option.dateFormat | yyyy-MM-dd | 默认日期的格式 |
livy.sql.result.format.option.timestampFormat | yyyy-MM-dd'T'HH:mm:ss.SSSXXX | 默认时间的格式,非 LEGACY 模式下为 yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
livy.sql.result.format.option.livy.sql.result.format.option.multiLine | false | 允许多行 |
livy.sql.result.format.option.maxColumns | 20480 | 最大列数 |
livy.sql.result.format.option.maxCharsPerColumn | -1 | 每列最大字符数,-1表示不限制 |
livy.sql.result.format.option.escapeQuotes | true | 逃逸引号 |
livy.sql.result.format.option.quoteAll | quoteAll | 写时全文加引号 |
livy.sql.result.format.option.emptyValue | \\"\\" | 空值的读写格式 |
livy.sql.result.format.option.lineSep | | 换行符 |
2、配置输出格式为非 csv 格式,注意这种情况控制台无法展示结果。但是可以通过其他方式读取结果路径,具体结果路径保存位置参考下节。
配置方式为 livy.sql.result.format,可以支持 text, orc, json, parquet 方式保存。
任务结果保存位置配置
说明:标准引擎 -Presto 暂不支持,全量结果可通过 JDBC 获取全量结果。
数据湖计算 DLC 支持用户通过配置将查询结果自动保存至 COS 路径下或 DLC 的托管存储,配置方式如下:
1. 登录 数据湖计算 DLC 控制台,选择服务地域,登录的账号需具有 COS 相关的权限。
2. 进入数据探索页,单击右上角存储配置,对查询结果保存方式进行配置。
3. 支持将结果保存至 DLC 托管存储或 COS,如需配置到 COS 路径,操作账号需具备 COS 侧相关权限,数据存储资费以 COS 为准。
任务的结果存储在以下 COS 路径的子文件夹中。
任务结果的数据路径:COS目录路径/DLCQueryResults/yyyy/mm/dd/[QueryID]/data/XXXX.csv任务结果的元数据路径:COS目录路径/DLCQueryResults/yyyy/mm/dd/[QueryID]/meta/result.meta.json
COS 目录路径:是在系统配置中配置的 COS 目录路径。
/yyyy/mm/dd:目录按照任务运行的日期。
/data:存放查询结果数据的目录,文件格式为 csv。DLC 可能会生成多个数据文件。
/meta:存放查询的数据表元数据新的目录,文件格式为 json。
说明:
将 SELECT 查询结果存储在 DLC 内部存储,存储底层为对象存储。结果存储有效期为36小时。
将 SELECT 查询结果存储于您在 COS 上的存储桶路径,需注意请确认是否已开通 COS 相关权限。
下载任务结果
说明:标准引擎-Presto暂不支持,可通过 JDBC 获取全量结果。
数据湖计算 DLC 支持用户手动将查询结果下载到本地。在未开启全量模式的情况下,用户可以对有查询结果的任务点击下载结果将结果下载到本地保存或手动保存到 COS(需具备 COS 权限)。
下载及保存到 COS 的数据对应本次 SQL 任务的查询结果,即最多500条结果。
下载到本地最大不超过50M 数据。
若配置了结果保存到 COS,结果将自动保存至 COS 路径,无需手动下载。