小编Ans*_*sip的帖子

使用正则表达式提取 Snowflake 中的特定文本

数据输入/表

想要获取键[工单描述:]的值并打印它。

使用的脚本:

CREATE TABLE demo3 (id INT, log VARCHAR);
INSERT INTO demo3 (id, log) VALUES 
(1, 'Work order submitted on 12-03-2020
Work Order Description:Lights are not working
Work order status:Completed'),
(2, 'Work order submitted on 5-04-2020
Work order Priority:P3
Work Order Description:Electrical equipment issue
Work order status:Completed');
Run Code Online (Sandbox Code Playgroud)

实现的解决方案: select id, substr(log, regexp_instr(log, 'Work Order Description:') + 23, 300) as log from demo3;

实施的解决方案输出:

id log
1  Lights are not working Work order status:Completed
2  Electrical equipment issue Work order status:Completed …
Run Code Online (Sandbox Code Playgroud)

snowflake-cloud-data-platform

2
推荐指数
1
解决办法
328
查看次数

如何在 Spark 中使用正则表达式从字符串列中提取日期

我有一个数据框,其中包含文件名、电子邮件和其他详细信息。需要从列文件名之一中获取日期。

例如:文件名:Test_ 04_21_2019 _34600.csv

需要提取日期:04_21_2019

数据框

val df1 = Seq(
  ("Test_04_21_2018_1200.csv", "abc@gmail.com",200),
  ("home/server2_04_15_2020_34610.csv", "abc1@gmail.com", 300),
  ("/server1/Test3_01_2_2019_54680.csv", "abc2@gmail.com",800))
.toDF("file_name", "email", "points")
Run Code Online (Sandbox Code Playgroud)

输出为

date         email           points
04_21_2018   abc@gmail.com   200
04_15_2020   abc1@gmail.com  300
01_2_2019    abc2@gmail.com  800
Run Code Online (Sandbox Code Playgroud)

我们可以在 Spark 数据帧上使用正则表达式来实现此目的或任何其他方式来实现此目的吗?任何帮助将不胜感激。

regex scala apache-spark

-3
推荐指数
1
解决办法
3472
查看次数