apache-spark-sql - 如何在 spark-sql 中从 UDF 中删除空行?
问题描述
我有以下 sql,它调用可以返回空行的 UDF。在我继续使用取决于第一个输出的第二个 UDF 之前,我想删除所有空行,这样第二个 UDF 就不必为此做任何工作。
CREATE TEMPORARY VIEW temp_table
AS
SELECT udf1(some_column)
FROM input_table;
// want to drop null rows in temp_table here, or have the first block already filter out nulls
SELECT output_string.some_column
FROM
(SELECT udf2(*) AS output_string FROM temp_table);
我不太确定从哪里开始,因为我从阅读中看到您可以根据列值删除空值,例如select when 'some_column' IS NOT NULL
但我没有列名可以处理?
是这样的吗,我可以在其中过滤所有不为空的列,temp_table
因为UDF中只有1个?
...udf1
SELECT output_string.some_column
FROM
(SELECT udf2(*) AS output_string FROM temp_table WHERE all of temp_tables columns is not null)
但这似乎不起作用,因为 UDF 列名是动态的,取决于输入......例如
UDF:udf1(DYNAMIC INPUT)
解决方案
推荐阅读
- php - Password_verify CodeIgniter
- python - pygame 中的函数无法正确生成输出
- haskell - GHCI:如何在 Prelude repl 上保存状态?
- javascript - 批量写入的 Firestore 安全规则。它们是如何工作的?
- python - rasa实体提取除小鸭以外的日期?
- php - 我没有在 Backpack Laravel 上通过内联创建获得“添加按钮”
- json - 如何使用 jolt 规范进行 mongodb 日期插入?
- svg - 无法更改样式 svg
- highcharts - 如何在箱线图高图中更改高低胡须颜色?
- html - 在同一行上对齐右(mat-icon)和左(文本)