tencent cloud

Data Lake Compute

メソンエンジン

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-24 16:46:57
Mesonエンジンは、DLC標準エンジンSparkに組み込まれた高性能ベクトル化クエリエンジンであり、Spark SQLワークロードとDataFrame API呼び出しをシームレスに加速し、ワークロードの総コストを削減します。オープンソースSparkと比較して、TPC-DS 1TBベンチマークテストで2.7倍の性能向上を実現しています。MesonはApache Spark APIと完全互換であり、既存のビジネスコードを変更する必要はありません。

原理紹介

SSDの広範な普及とネットワークカードの性能向上に伴い、Sparkエンジンの性能ボトルネックは、従来のIOからCPUを中心とした計算リソースへと移行しています。JVMを中心としたCPU最適化手法(例:Codegen)には、バイトコードの長さやパラメータ数の制約など多くの制限があり、開発者がJVM上で現代CPUの特性を活用することも困難です。
MesonエンジンはSparkの物理プランを変換し、C++で実装されたベクトル化高速ライブラリを使用して計算を実行し、処理済みデータをカラムナー形式で返すことで、メモリと帯域幅の利用効率を向上させ、性能ボトルネックを突破します。これにより、Sparkジョブの効率を効果的に向上させることができます。

利用制限

Mesonエンジンには現在利用制限があり、制限されたシナリオではMesonエンジンはFallbackを実行し、ネイティブのSparkエンジンに戻って処理を行います。Fallbackには必要なデータ変換が必要なため、回退回数が多すぎると、全体の実行時間がネイティブのSparkエンジンよりも遅くなる可能性があります。
Mesonエンジンの主な利用制限について事前にご理解ください:
Parquetデータ形式をサポートしていますが、ORCのサポートはまだ完全ではなく、他のデータ形式は現在サポートされていません。
ANSIモードは現在サポートされていません。
RDDベースのApplicationは現在サポートされていません。
Structured Streamingは現在サポートされていません。
PySparkベースのカスタムPythonコードは現在サポートされていません。
MEMORY_ONLYのCacheTableは現在サポートされていません。

適用シーン

以下のサポート機能は、標準エンジン Standard-S 1.1 以降のバージョンに基づいて提供されます。
注意:
Meson が完全にサポートしていない、またはサポートしていないストレージ形式、データタイプ、オペレーター、および関数は、ネイティブの Spark エンジンにフォールバックして実行されます。

ストレージフォーマット

Meson エンジンがサポートするデータストレージフォーマット:
サポートされているデータ形式:Parquet、ORC
サポートされているテーブル形式:Iceberg、Hive

データ型

Meson エンジンがサポートするデータ型:
Byte、Short、Int、Long
Boolean
String、Binary
Decimal
Float、Double
Date、Timestamp

オペレータ

タイプ
サポート済みオペレータ
サポートしていません。
Source
FileSourceScanExec、HiveTableScanExec、BatchScanExec、InMemoryTableScanExec
-
Sink
DataWritingCommandExec、InsertIntoHiveTable、
-
Common
FilterExec、ProjectExec、SortExec、UnionExec
-
Aggregate
HashAggregateExec
SortAggregateExec、ObjectHashAggregateExec
Join
BroadcastHashJoinExec、ShuffledHashJoinExec、SortMergeJoinExec、BroadcastNestedLoopJoinExec、CartesianProductExec
-
Window
WindowExec
WindowGroupLimitExec
Exchange
ShuffleExchangeExec、ReusedExchangeExec、BroadcastExchangeExec、CoalesceExec
CustomShuffleReaderExec
Limit
GlobalLimitExec、LocalLimitExec、TakeOrderedAndProjectExec、CollectLimitExec
-
Subquery
SubqueryBroadcastExec
-
Other
ExpandExec、GenerateExec、CollectTailExec、RangeExec
RangeExec、SampleExec

関数

タイプ
関数をサポートしました
Generator Functions
explode,explode_outer,inline,inline_outer,posexplode,posexplode_outer,stack
Window Functions
cume_dist,dense_rank,lag,lead,nth_value,ntile,percent_rank,rank,row_number
Aggregate Functions
any,any_value,approx_count_distinct,approx_percentile,array_agg,avg,bit_and,bit_or,bit_xor,bool_and,bool_or,collect_list,collect_set,corr,count,count_if,covar_pop,covar_samp,every,first,first_value,grouping,grouping_id,kurtosis,last,last_value,max,max_by,mean,median,min,min_by,percentile,percentile_approx,regr_avgx,regr_avgy,regr_count,regr_intercept,regr_r2,regr_slope,regr_sxx,regr_sxy,regr_syy,skewness,some,std,stddev,stddev_pop,stddev_samp,sum,try_avg,try_sum,var_pop,var_samp,variance
Array Functions
array,array_append,array_compact,array_contains,array_distinct,array_except,array_insert,array_intersect,array_join,array_max,array_min,array_position,array_prepend,array_remove,array_repeat,array_union,arrays_overlap,arrays_zip,flatten,get,shuffle,slice,sort_array
Bitwise Functions
&,^,bit_count,bit_get,getbit,shiftright,|,~
Collection Functions
array_size,cardinality,concat,reverse,size
Conditional Functions
coalesce,if,ifnull,nanvl,nullif,nvl,nvl2,when
Conversion Functions
bigint,binary,boolean,cast,date,decimal,double,float,int,smallint,string,timestamp,tinyint
Date and Timestamp Functions
add_months,date_add,date_diff,date_format,date_from_unix_date,date_sub,date_trunc,dateadd,datediff,day,dayofmonth,dayofweek,dayofyear,extract,from_unixtime,from_utc_timestamp,hour,last_day,make_date,make_timestamp,make_ym_interval,minute,month,next_day,quarter,second,timestamp_micros,timestamp_millis,to_unix_timestamp,to_utc_timestamp,trunc,unix_date,unix_micros,unix_millis,unix_seconds,unix_timestamp,weekday,weekofyear,year
Hash Functions
crc32,hash,md5,sha,sha1,sha2,xxhash64
JSON Functions
from_json,get_json_object,json_array_length,json_object_keys,json_tuple,schema_of_json,to_json
Lambda Functions
aggregate,array_sort,exists,filter,forall,map_filter,map_zip_with,reduce,transform,transform_keys,transform_values,zip_with
Map Functions
element_at,map,map_concat,map_contains_key,map_entries,map_keys,map_values,str_to_map,try_element_at
Mathematical Functions
%,*,+,-,/,abs,acos,acosh,asin,asinh,atan,atan2,atanh,bin,cbrt,ceil,ceiling,conv,cos,cosh,cot,csc,degrees,e,exp,expm1,factorial,floor,greatest,hex,hypot,least,log,log10,log1p,log2,mod,negative,pi,pmod,positive,pow,power,rand,random,rint,round,sec,shiftleft,sign,signum,sinh,sqrt,try_add,unhex,width_bucket
Misc Functions
assert_true,equal_null,spark_partition_id,uuid,version,||
Predicate Functions
!,!=,<,<=,<=>,<>,=,==,>,>=,and,between,case,ilike,in,isnan,isnotnull,isnull,like,not,or,regexp,regexp_like
String Functions
ascii,base64,bit_length,btrim,char,char_length,character_length,chr,concat_ws,contains,endswith,find_in_set,format_number,format_string,initcap,instr,lcase,left,len,length,levenshtein,locate,lower,lpad,ltrim,luhn_check,mask,overlay,position,regexp_extract,regexp_extract_all,regexp_replace,repeat,replace,right,rpad,rtrim,soundex,split,split_part,startswith,substr,substring,substring_index,translate,trim,ucase,unbase64,upper
Struct Functions
named_struct,struct
URL Functions
url_decode,url_encode

Mesonエンジンを使用する

標準エンジン Standard-S 1.1(native)はデフォルトでMesonエンジンをサポートしています。
注意:
リソースを作成する際は、正確なエンジンバージョンを選択してください。Standard-S 1.1はMesonエンジンをサポートしていません。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック