从 2025 年 11 月 1 日起,Amazon Redshift 将不再支持创建新的 Python UDF。如果您想要使用 Python UDF,请在该日期之前创建 UDF。现有的 Python UDF 将继续正常运行。有关更多信息,请参阅博客文章
通过下推提高性能
 Spark 连接器自动应用谓词和查询下推来优化性能。有了这种支持就意味着,如果您在查询中使用支持的函数,Spark 连接器会将该函数转换成 SQL 查询,并在 Amazon Redshift 中运行该查询。这种优化会减少需要检索的数据,因此 Apache Spark 可以处理更少的数据并获得更好的性能。默认情况下,自动激活下推。要停用它,请将 autopushdown 设置为 false。
import sqlContext.implicits._val sample= sqlContext.read .format("io.github.spark_redshift_community.spark.redshift") .option("url",jdbcURL ) .option("tempdir", tempS3Dir) .option("dbtable", "event") .option("autopushdown", "false") .load()
 下推支持以下函数。如果您使用不在此列表中的函数,Spark 连接器将在 Spark 中(而不是在 Amazon Redshift 中)执行此函数,从而导致性能未优化。有关 Spark 中函数的完整列表,请参阅内置函数
- 
                
聚合函数
- 
                        
avg
 - 
                        
count
 - 
                        
max
 - 
                        
min
 - 
                        
sum
 - 
                        
stddev_samp
 - 
                        
stddev_pop
 - 
                        
var_samp
 - 
                        
var_pop
 
 - 
                        
 - 
                
布尔运算符
- 
                        
in
 - 
                        
isnull
 - 
                        
isnotnull
 - 
                        
contains
 - 
                        
endswith
 - 
                        
startswith
 
 - 
                        
 - 
                
逻辑运算符
- 
                        
and
 - 
                        
or
 - 
                        
not (or !)
 
 - 
                        
 - 
                
数学函数
- 
                        
+
 - 
                        
-
 - 
                        
*
 - 
                        
/
 - 
                        
- (unary)
 - 
                        
abs
 - 
                        
acos
 - 
                        
asin
 - 
                        
atan
 - 
                        
ceil
 - 
                        
cos
 - 
                        
EXP
 - 
                        
floor
 - 
                        
greatest
 - 
                        
least
 - 
                        
log10
 - 
                        
pi
 - 
                        
pow
 - 
                        
round
 - 
                        
sin
 - 
                        
sqrt
 - 
                        
tan
 
 - 
                        
 - 
                
其他函数
- 
                        
cast
 - 
                        
coalesce
 - 
                        
decimal
 - 
                        
if
 - 
                        
in
 
 - 
                        
 - 
                
关系运算符
- 
                        
!=
 - 
                        
=
 - 
                        
>
 - 
                        
>=
 - 
                        
<
 - 
                        
<=
 
 - 
                        
 - 
                
字符串函数
- 
                        
ascii
 - 
                        
lpad
 - 
                        
rpad
 - 
                        
翻译
 - 
                        
upper
 - 
                        
lower
 - 
                        
length
 - 
                        
trim
 - 
                        
ltrim
 - 
                        
rtrim
 - 
                        
like
 - 
                        
substring
 - 
                        
concat
 
 - 
                        
 - 
                
日期和时间函数
- 
                        
add_months
 - 
                        
date
 - 
                        
date_add
 - 
                        
date_sub
 - 
                        
date_trunc
 - 
                        
timestamp
 - 
                        
trunc
 
 - 
                        
 - 
                
数学运算
- 
                        
CheckOverflow
 - 
                        
PromotePrecision
 
 - 
                        
 - 
                
关系运算
- 
                        
Aliases(例如,AS)
 - 
                        
CaseWhen
 - 
                        
Distinct
 - 
                        
InSet
 - 
                        
联接和交叉联接
 - 
                        
Limits
 - 
                        
Unions,union all
 - 
                        
ScalarSubquery
 - 
                        
Sorts(升序和降序)
 - 
                        
UnscaledValue
 
 -