光子运行时

光子是本机矢量化查询引擎在砖上,直接与Apache火花兼容的api编写与现有代码。是在c++开发利用现代硬件,并使用矢量化查询处理的最新技术利用数据——在cpu和指令级并行性,增强表现真实的数据和应用程序——所有本地数据湖上。光子是一个高性能的运行时的一部分运行现有的SQL和DataFrame API调用每个工作负载速度和减少你的总成本。光子在默认情况下用于砖SQL的仓库。

砖集群

光子用于集群运行砖运行时9.1 LTS及以上。

使光子加速,选择使用光子加速复选框时创建集群。如果您使用的创建集群集群API,设置runtime_engine光子

光子支持许多类型的司机和工人节点实例。光子实例类型以不同的速度消耗DBUs比相同的实例运行non-Photon运行时类型。

关于光子实例和DBU消费的更多信息,见砖定价的页面

光子的优势

  • 支持SQL和等效DataFrame操作对三角洲和拼花表。

  • 加速处理大量数据的查询(100 gb +),包括聚合和连接。

  • 更快的访问数据时的性能不断从磁盘缓存。

  • 更健壮的扫描性能表和许多列和许多小文件。

  • 更快的三角洲和拼花写使用更新,删除,合并,插入,创建作为选择,特别是对于宽表(到成千上万的列)。

  • 取代分类合并连接散列连接。

光子的报道

运营商

  • 扫描,过滤器,项目

  • 哈希总/加入/洗牌

  • 嵌套循环连接

  • Null-Aware反加入

  • 联盟,扩大,ScalarSubquery

  • δ/铺写下沉

  • 排序

  • 窗口函数

表达式

  • 比较/逻辑

  • 算术/数学(大多数)

  • 条件(如果、案例等)。

  • 字符串(常用)

  • 数据类型转换

  • 总量(最常见的)

  • 日期/时间戳

数据类型

  • 字节/短/ Int /长

  • 布尔

  • 字符串/二进制

  • 小数

  • 浮动/双

  • 日期/时间戳

  • 结构体

  • 数组

  • 地图

下表列出了支持砖表达式和最低砖运行时发布版本支持它。

的名字

释放

腹肌

砖8.3运行时

这些“可信赖医疗组织”

砖运行时10.4 LTS

添加

砖8.3运行时

AddMonths

砖8.3运行时

AesDecrypt

砖运行时10.4 LTS

AesEncrypt

砖运行时10.4 LTS

砖8.3运行时

ArrayContains

砖8.3运行时

ArrayDistinct

砖10.0运行时

ArrayExcept

砖10.1运行时

ArrayExists

砖运行时10.4 LTS

ArrayFilter

砖运行时10.4 LTS

ArrayForAll

砖运行时10.4 LTS

ArrayIntersect

砖10.1运行时

ArrayJoin

砖运行时10.4 LTS

ArraySize

砖运行时10.4 LTS

ArrayTransform

砖运行时10.4 LTS

ArrayUnion

砖10.1运行时

:

砖运行时9.1 LTS

量化

砖运行时9.1 LTS

平均

砖8.3运行时

Base64

砖运行时9.1 LTS

砖10.0运行时

BitAndAgg

砖8.3运行时

BitLength

砖运行时11.3 LTS

BitOrAgg

砖8.3运行时

BitwiseAnd

砖8.3运行时

BitwiseNot

砖8.3运行时

BitwiseOr

砖8.3运行时

BitwiseReverse

砖8.3运行时

BitwiseXor

砖8.3运行时

BitXorAgg

砖8.3运行时

BoundaryAsGeojson

砖运行时11.3 LTS

BoundaryAsWkb

砖运行时11.3 LTS

BoundaryAsWkt

砖运行时11.3 LTS

砖8.3运行时

Cbrt

砖8.4运行时

CeilExpressionBuilder

砖8.3运行时

CenterAsGeojson

砖运行时11.3 LTS

CenterAsWkb

砖运行时11.3 LTS

CenterAsWkt

砖运行时11.3 LTS

空空的

砖10.1运行时

合并

砖8.3运行时

CollectList

砖9.0运行时

Concat

砖8.3运行时

ConcatWs

砖8.3运行时

Conv

砖8.3运行时

因为

砖运行时10.4 LTS

砖8.3运行时

CreateArray

砖8.3运行时

CreateMap

砖8.4运行时

CreateNamedStruct

砖8.3运行时

CreateStruct

砖8.3运行时

CurrentCatalog

砖8.3运行时

CurrentDatabase

砖8.3运行时

CurrentDate

砖8.3运行时

CurrentTimestamp

砖8.3运行时

CurrentTimeZone

砖8.3运行时

CurrentUser

砖8.3运行时

返回

砖8.3运行时

DateDiff

砖8.3运行时

DateFormatClass

砖8.3运行时

DateFromUnixDate

砖8.3运行时

DateSub

砖8.3运行时

DayOfMonth

砖8.3运行时

DayOfWeek

砖8.3运行时

DayOfYear

砖8.3运行时

解码

砖8.3运行时

DenseRank

砖运行时10.4 LTS

砖8.3运行时

ElementAt

砖8.3运行时

EqualNullSafe

砖8.3运行时

等于

砖8.3运行时

经验值

砖8.4运行时

爆炸

砖8.4运行时

提取

砖8.3运行时

第一个

砖8.3运行时

FloorExpressionBuilder

砖8.3运行时

FromUnixTime

砖8.3运行时

FromUTCTimestamp *

砖8.3运行时

得到

砖运行时11.3 LTS

GetJsonObject

砖11.2运行时

GreaterThan

砖8.3运行时

GreaterThanOrEqual

砖8.3运行时

最大的

砖8.3运行时

GridDistance

砖运行时11.3 LTS

H3ToString

砖运行时11.3 LTS

十六进制

砖运行时9.1 LTS

小时

砖8.3运行时

如果

砖8.3运行时

砖8.3运行时

InitCap

砖运行时11.3 LTS

InputFileBlockLength

砖8.3运行时

InputFileBlockStart

砖8.3运行时

InputFileName

砖8.3运行时

插图

砖8.3运行时

IntegralDivide

砖8.3运行时

IsChildOf

砖运行时11.3 LTS

IsNaN

砖8.3运行时

IsNotNull

砖8.3运行时

IsNull

砖8.3运行时

IsPentagon

砖运行时11.3 LTS

IsValid

砖运行时11.3 LTS

JsonToStructs

砖11.2运行时

滞后

砖运行时10.4 LTS

去年

砖运行时10.4 LTS

LastDay

砖8.3运行时

砖运行时10.4 LTS

至少

砖8.3运行时

长度

砖8.3运行时

LengthOfJsonArray

砖11.1运行时

不超过

砖8.3运行时

Levenshtein

砖10.1运行时

就像

砖8.3运行时

日志

砖8.3运行时

Log2

砖8.4运行时

LongLatAsH3

砖运行时11.3 LTS

LongLatAsH3String

砖运行时11.3 LTS

较低的

砖8.3运行时

LPadExpressionBuilder

砖8.3运行时

MakeDate

砖8.3运行时

MakeTimestamp

砖8.3运行时

马克斯

砖8.3运行时

MaxChild

砖运行时11.3 LTS

Md5

砖运行时10.4 LTS

MicrosToTimestamp

砖8.3运行时

MillisToTimestamp

砖8.3运行时

最小值

砖8.3运行时

MinChild

砖运行时11.3 LTS

一分钟

砖8.3运行时

MonotonicallyIncreasingID

砖8.3运行时

砖8.3运行时

MonthsBetween

砖8.3运行时

砖8.3运行时

Murmur3Hash

砖8.3运行时

NaNvl

砖8.3运行时

NextDay

砖8.3运行时

砖8.3运行时

现在

砖8.3运行时

NthValue

砖运行时10.4 LTS

NTile

砖运行时10.4 LTS

NullIf

砖8.3运行时

Nvl

砖8.3运行时

Nvl2

砖8.3运行时

OctetLength

砖8.3运行时

ParseToDate

砖8.3运行时

ParseToTimestamp

砖8.3运行时

百分位

砖运行时10.4 LTS

PercentRank

砖运行时10.4 LTS

π

砖8.3运行时

Pmod

砖8.3运行时

PosExplode

砖运行时9.1 LTS

战俘

砖8.3运行时

季度

砖8.3运行时

兰德

砖8.3运行时

排名

砖运行时10.4 LTS

RegExpExtract

砖8.3运行时

RegExpExtractAll

砖11.1运行时

RegExpReplace

砖运行时9.1 LTS

RegrAvgX

砖10.5运行时

RegrAvgY

砖10.5运行时

剩余部分

砖8.3运行时

决议

砖运行时11.3 LTS

反向

砖8.3运行时

反向

砖8.3运行时

RLike

砖8.3运行时

砖8.3运行时

RowNumber

砖运行时10.4 LTS

RPadExpressionBuilder

砖8.3运行时

第二个

砖8.3运行时

SecondsToTimestamp

砖8.3运行时

Sha1

砖运行时10.4 LTS

Sha2

砖运行时10.4 LTS

ShiftLeft * * * *

砖8.3运行时

ShiftRight

砖8.3运行时

ShiftRightUnsigned

砖8.3运行时

砖运行时10.4 LTS

大小

砖8.3运行时

砖8.3运行时

探测法

砖10.1运行时

SparkVersion

砖8.3运行时

√6

砖8.4运行时

StddevPop

砖8.3运行时

StddevSamp

砖8.3运行时

StringInstr

砖8.3运行时

StringLocate

砖8.3运行时

StringRepeat

砖11.2运行时

StringSpace

砖8.3运行时

StringSplit

砖8.3运行时

StringToH3

砖运行时11.3 LTS

StringTranslate

砖运行时10.4 LTS

StringTrim

砖8.3运行时

StringTrimBoth

砖8.3运行时

StringTrimLeft

砖8.3运行时

StringTrimRight

砖8.3运行时

StructsToJson

砖11.1运行时

子字符串

砖8.3运行时

减去

砖8.3运行时

总和

砖8.3运行时

棕褐色

砖运行时9.1 LTS

ToChildren

砖运行时11.3 LTS

ToParent

砖运行时11.3 LTS

ToRadians

砖10.1运行时

ToUnixTimestamp

砖8.3运行时

ToUTCTimestamp

砖8.3运行时

TruncDate

砖8.3运行时

TruncTimestamp

砖8.3运行时

TryElementAt

砖10.0运行时

TryValidate

砖运行时11.3 LTS

UnaryMinus

砖8.3运行时

UnBase64

砖运行时9.1 LTS

Unhex

砖运行时9.1 LTS

UnixDate

砖8.3运行时

UnixMicros

砖8.3运行时

UnixMillis

砖8.3运行时

UnixSeconds

砖8.3运行时

UnixTimestamp

砖8.3运行时

砖8.3运行时

Uuid

砖8.3运行时

验证

砖运行时11.3 LTS

VarianceSamp

砖10.1运行时

工作日

砖8.3运行时

WeekOfYear

砖8.3运行时

XxHash64

砖10.0运行时

一年

砖8.3运行时

不完全支持* from_utc_timestamp光子。看到from_utc_timestamp为更多的信息。

限制

  • 结构化流:光子目前支持无状态流与δ,拼花,CSV。卡夫卡和运动的支持公共预览

  • 不支持udf。

  • 不支持抽样api。

  • 不会提高短时间运行的查询(< 2秒),例如,针对少量的数据查询。

功能不支持的光子与砖运行时他们会以同样的方式运行;没有这些功能的性能优势。