すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:フュージョンエンジン

最終更新日:Jan 20, 2026

フュージョンエンジンは、EMR Serverless Spark に組み込まれた高性能なベクトル化 SQL 実行エンジンです。TPC-DS ベンチマークテストでは、オープンソースの Spark よりも 3 倍優れたパフォーマンスを発揮します。フュージョンエンジンは、オープンソースの Spark と完全な互換性があります。既存のコードを変更する必要はありません。EMR Serverless Spark では、セッションを作成する際に [フュージョンアクセラレーションを使用] スイッチをオンにすることで、このエンジンを有効にできます。

対応シナリオ

Fusionエンジンは、Spark SQLおよびDataFrameジョブに適しています。 Fusionエンジンを使用すると、ほとんどの演算子、式、およびデータ型の性能を向上させることができます。 ただし、Fusionエンジンは、Resilient Distributed Dataset(RDD)ジョブの実行や、ユーザー定義関数(UDF)が使用されているジョブの実行を高速化することはできません。

ストレージ形式

Fusionエンジンは、次のデータストレージ形式をサポートしています。

  • Parquet

  • Paimon

  • ORC(一部)

演算子

Fusionエンジンは、ほとんどの一般的な演算子の高速化を提供します。 次の表に、演算子を示します。

種類

オペレーターリスト

ソース

  • FileSourceScanExec

  • HiveTableScanExec

  • BatchScanExec

  • InMemoryTableScanExec

シンク

DataWritingCommandExec

共通操作

  • FilterExec

  • ProjectExec

  • SortExec

  • UnionExec

集計

HashAggregateExec

参加

  • BroadcastHashJoinExec

  • ShuffledHashJoinExec

  • SortMergeJoinExec

  • BroadcastNestedLoopJoinExec

  • CartesianProductExec

ウィンドウ

  • WindowExec

  • WindowTopK

交換

  • ShuffleExchangeExec

  • ReusedExchangeExec

  • BroadcastExchangeExec

  • CoalesceExec

制限

  • GlobalLimitExec

  • LocalLimitExec

  • TakeOrderedAndProjectExec

サブクエリ

SubqueryBroadcastExec

その他

  • ExpandExec

  • GenerateExec

次の表に、Fusionエンジンでサポートされている式を示します。

種類

式リスト

比較/論理

=、==、!=、<>、<、<=、>、>=、<=>、is null、is not null、between、and、or、||、!、negative、null if

算術

%, +, -, *, /, isnan, mod, negative, not, positive, abs, acos, acosh, asin, asinh, atan, atan2, atanh, cbrt, ceil, ceiling, cos, cosh, degrees, e, exp, floor, ln, log, log10, log2, pi, pmod, pow, power, radians, rand, random, rint, round, shiftleft, shiftright, sign, signum, sin, sqrt, tan, and tanh

ビット単位

^, |, &, ~, bit_and, bit_count, bit_or, bit_xor, and bit_length

条件式

case, if, and when

集合

in and find_in_set

文字列計算

ascii, char, chr, char_length, character_length, concat, instr, lcase, lower, length, locate, lower, lpad, and ltrim

overlay, replace, reverse, rtrim, split, split_part, substr, substring, trim, ucase, upper, like, regexp, regexp_extract, regexp_extract_all, regexp_like, regexp_replace, and rlike

集計

aggregate、approx_count_distinct、avg、collect_list、collect_set、corr、count、covar_pop、covar_samp、first、first_value、kurtosis、last、last_value、max、max_by、mean、min、regr_avgx、regr_avgy、regr_count、regr_r2

regr_intercept, regr_slope, regr_sxy, regr_sxx, regr_syy, skewness, std, stddev, stddev_pop, stddev_samp, sum, var_pop, var_samp, and variance

ウィンドウ

cume_dist, dense_rank, lag, lead, nth_value, ntile, percent_rank, rank, and row_number

時間

add_months, current_date, current_timestamp, current_timezone, date, date_add, date_format, date_from_unix_date, date_sub, datediff, day, dayofmonth, dayofweek, dayofyear, from_unixtime, from_utc_timestamp, hour, last_day, make_date, minute, month, next_day, now, quarter, second, timestamp_micros, timestamp_millis, to_date, to_unix_timestamp, unix_seconds, unix_millis, unix_micros, weekday, weekofyear, and year

JSON

get_json_object and json_array_length

配列

array, array_contains, array_distinct, array_except, array_intersect, array_join, array_max, array_min, array_position, array_remove, array_repeat, array_sort, arrays_overlap, arrays_zip, element_at, exists, filter, forall, flatten, shuffle, size, and sort_array

マップ

map, get_map_value, map_from_arrays, map_keys, map_values, map_zip_with, named_struct, struct, and str_to_map

エンコーディング

crc32, hash, md5, sha1, and sha2

その他

current_catalog, current_database, greatest, least, monotonically_increasing_id, nanvl, spark_partition_id, stack, uuid, and rand

データ型

Fusionエンジンは、次のデータ型をサポートしています。

  • Byte、Short、Int、および Long

  • Boolean

  • String および Binary

  • Decimal

  • Float および Double

  • Date および Timestamp

未対応のシナリオ

演算子

種類

演算子

集計

  • ObjectHashAggregateExec

  • SortAggregateExec

交換

CustomShuffleReaderExec

Pandas

  • AggregateInPandasExec

  • FlatMapGroupsInPandasExec

  • ArrowEvalPythonExec

  • MapInPandasExec

  • WindowInPandasExec

その他

  • CollectLimitExec

  • RangeExec

  • SampleExec

データ型

  • Struct

  • Array

  • Map