databricks仪表板 - 如何使用查询参数来创建动态查询

问题描述 投票:0回答:1

我正在尝试在查询中使用查询参数创建仪表板,以添加动态列名。这是查询

SELECT :column_names FROM table1
查询的解析看起来像这样:

array(col1, col2, col3) ["col1","col2","col3"]
我尝试爆炸阵列

table1

选择爆炸(:column_names)

恢复:

col col1 col2 col3

我想创建一个像

SELECT col1, col2, col3 FROM table1

以及从表中的实际记录回报。 有可能做吗?

                
我尝试了以下方法:

from pyspark.sql import SparkSession from pyspark.sql.functions import col spark = SparkSession.builder.appName("DynamicColumns").getOrCreate() data = [(1, "a", "x"), (2, "b", "y"), (3, "c", "z")] columns = ["col1", "col2", "col3"] df = spark.createDataFrame(data, columns) column_names = ["col1", "col2", "col3"] selected_columns = [col(column) for column in column_names] result_df = df.select(*selected_columns) result_df.show()

sql azure databricks
1个回答
0
投票
逆转:

+----+----+----+
|col1|col2|col3|
+----+----+----+
|   1|   a|   x|
|   2|   b|   y|
|   3|   c|   z|
+----+----+----+

在上面的代码中,我定义了要动态选择的列名列表。 通过使用列表理解来为每个列名创建col()函数列表,我可以动态地从数据框架中选择所需的列。 接下来,通过使用

*
运算符将选定列的列表传递到
select()

函数,可以生成一个查询,从数据框架中选择指定的列。

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.