光子運行時
光子是本機矢量化查詢引擎在磚上,直接與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秒),例如,針對少量的數據查詢。
功能不支持的光子與磚運行時他們會以同樣的方式運行;沒有這些功能的性能優勢。