You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity Catalog启用后Databricks中PySpark RDD白名单问题及替代方案咨询

解决方法

启用Unity Catalog的共享用户集群出于安全管控,限制了RDD相关底层方法的调用,直接用PySpark DataFrame API就能实现相同逻辑,无需依赖RDD操作:

方式一:分两次提取列值

# 获取第一列所有值转为列表
list = [row[0] for row in df_list.collect()]
# 获取第二列所有值转为列表
hlist = [row[1] for row in df_list.collect()]

方式二:一次性收集后拆分(更高效)

如果DataFrame数据量较大,推荐先一次性收集所有行,再拆分两列,减少集群查询次数:

all_rows = df_list.collect()
list = [row[0] for row in all_rows]
hlist = [row[1] for row in all_rows]

方式三:指定列名提取(更清晰)

如果知道DataFrame的列名,直接通过列名提取可读性更强:
假设第一列名为first_col,第二列名为second_col:

list = [row.first_col for row in df_list.select("first_col").collect()]
hlist = [row.second_col for row in df_list.select("second_col").collect()]

这些写法都不会触发RDD相关的安全限制,同时实现了原代码提取两列值为列表的逻辑。

内容的提问来源于stack exchange,提问作者Developer Rajinikanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 03:42:07