apache-spark - 参数文件中 Spark SQL 的 IN 子句中的多个参数
问题描述
我正在尝试运行 spark 查询,其中我根据参数文件中的值从源表创建策划表。
properties_file.properties包含以下键值:
substatus,allow,deny
SparkQuery是
//Code to load property file in parseConf
spark.sql(s"""insert into curated.table from source.table where
substatus='${parseConf.substatus}'""")
以上适用于substatus
. 但是,如果我需要使用以下参数substatus
中${parseConf.substatus}
的多个值,有人可以帮助我该怎么做。
spark.sql(s"""insert into curated.table from source.table where substatus in '${parseConf.substatus}'""")
解决方案
为了解决我的问题,我将我的属性文件更新为:
substatus,'allow'-'deny'
然后在 scala 代码中,我实现了以下逻辑:
val subStatus=(parseConf.substatus).replace('-',',')
spark.sql(s"""insert into curated.table from source.table where substatus in ('${subStatus}')""")
上述策略有助于将字符串中的值分解为 IN 子句的多个参数。
推荐阅读
- c++ - 如何在内核级别的 Windows(7) 中查找 SerialPort 物理地址
- git - Git从git状态列表中添加第一个文件?
- pandas - Period 类型的对象在 plotly 中不是 JSON 可序列化的
- c# - 仅用于 web api .net 核心 web api 的 Jwt 身份验证
- python - Pygame:试图理解 Sprite 类
- python - 在 Python 中应用函数时如何加快处理速度
- c# - 单击鼠标右键并打开上下文菜单时,如何保存treeviewitem?
- r - 在 R 中使用对数刻度绘图
- powershell - powershell 将参数传递给 new-aduser 错误
- r - 将一个矩阵列表重新缩放为另一个