光子運行時

光子是本機矢量化查詢引擎在磚上,直接與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秒),例如,針對少量的數據查詢。

功能不支持的光子與磚運行時他們會以同樣的方式運行;沒有這些功能的性能優勢。