Я хочу соединить Drools с pyspark, чтобы создать SQL-запрос для применения бизнес-правил к фрейму данных. Пожалуйста, предложите, если какие-либо другие инструменты могут быть использованы для этого требования.
Существует несколько бизнес-правил, которые должны быть реализованы сразу на фрейме данных.
select a.id
,case when cast(appendix_id as int) = long_id then appendix_title end as Title
,case when cast(appendix_id as int) = long_id then medium_title end as medium_title
,case when cast(appendix_id as int) = long_id then short_title end as short_title
from stg_data a
условия случая могут быть конфигурированы с использованиемСлюни
> -- business rule:
> 1) if code is in both appendix O AND longult
> - use the long title from appendix O file
> - use the medium title from medu
> - use the short title from shortu
> sample input
> 34 ABC - Appendix O file
> 34 CDE - Longult file
> 34 123 - Med file
> 34 567 - Shortfile
>
> sample output
> Data Frame
> Code Long Title Med Title Short Title
> 34 ABC 123 567
Input:
| id|short_id| short_title|long_id| long_title|medium_id| medium_title|appendix_id|appendix_title|EV_ID|EV_Long_title|EV_Short_title|EV_Medium_title|
+----+--------+----------------+-------+---------------+---------+--------------+-----------+--------------+-----+-------------+--------------+---------------+
| 148| 148| short title 148| 148| long title 148| 148| med title 148| null| null| null| null| null| null|
| 463| 463| short title 463| 463| long title 463| 463| med title 463| null| null| null| null| null| null|
| 471| 471| short title 471| 471| long title 471| 471| med title 471| null| null| null| null| null| null|
output
+--------+---------------+--------------+----------------+-------------+
|CPT_CODE| Long_Title| Medium_Title| Short_Title|Business_rule|
+--------+---------------+--------------+----------------+-------------+
| 148| long title 148| med title 148| short title 148| Rule4|
| 463| long title 463| med title 463| short title 463| Rule4|
| 471| long title 471| med title 471| short title 471| Rule4|