use*_*011 3 python sql hive apache-spark pyspark
在连接两个表时,我想从一个大表中选择除其中 2 列之外的所有列,该大表在 databricks 上的 pyspark sql 上有许多列。
我的 pyspark sql:
%sql
set hive.support.quoted.identifiers=none;
select a.*, '?!(b.year|b.month)$).+'
from MY_TABLE_A as a
left join
MY_TABLE_B as b
on a.year = b.year and a.month = b.month
Run Code Online (Sandbox Code Playgroud)
我按照 配置单元:选择所有列排除两个 配置单元如何选择除一列之外的所有列?
但是,它对我不起作用。所有列都在结果中。我想删除重复的列(结果中的年份和月份)。
谢谢
从 Databricks Runtime 9.0 开始,您可以使用* except()
如下命令:
df = spark.sql("select a.* except(col1, col2, col3) from my_table_a...")
Run Code Online (Sandbox Code Playgroud)
或者如果只是像您的示例中那样使用 %sql
select a.* except(col1, col2, col3) from my_table_a...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11962 次 |
最近记录: |