Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从databricks表的字符串列收集用户信息(电子邮件、ip地址等)_Sql_Apache Spark Sql_Databricks - Fatal编程技术网

Sql 从databricks表的字符串列收集用户信息(电子邮件、ip地址等)

Sql 从databricks表的字符串列收集用户信息(电子邮件、ip地址等),sql,apache-spark-sql,databricks,Sql,Apache Spark Sql,Databricks,我在databricks表中有一个字符串列,其中包含文本数据。我想从本专栏中提取用户信息,如电子邮件、IP地址和社会安全号码 我目前正在列上应用regex以获得以下值: %sql SELECT * FROM my_table WHERE col like '%_@__%.__%'; 用于在同一列上使用其他正则表达式提取其他信息。 是否有任何通用查询可用于从列中查找这些用户信息?除了使用正则表达式,我们还有其他方法吗 列值示例: abc@gmail.com test@gmail.com 测试

我在databricks表中有一个字符串列,其中包含文本数据。我想从本专栏中提取用户信息,如电子邮件、IP地址和社会安全号码

我目前正在列上应用regex以获得以下值:

%sql
SELECT * FROM my_table WHERE  col like '%_@__%.__%';
用于在同一列上使用其他正则表达式提取其他信息。 是否有任何通用查询可用于从列中查找这些用户信息?除了使用正则表达式,我们还有其他方法吗

列值示例:

  • abc@gmail.com
  • test@gmail.com
  • 测试
  • 测试
  • 123456
  • 11.0.6.13
  • 22.44.66.7
  • 测试
  • 49.37.4.136
  • 103.136.64.304

    • 您是否考虑过使用regexp\u extract,例如

      %sql
      SELECT *,
        regexp_extract( yourColumn, '(.*@.*)', 1 ) AS email,
        regexp_extract( yourColumn, '([a-z]+)', 1 ) AS someText,
        regexp_extract( yourColumn, '(\\d+)', 1 ) AS someDigits,
        regexp_extract( yourColumn, '([0-9]{6})', 1 ) AS sixDigits,
        regexp_extract( yourColumn, '(\\d+\.\\d+\.\\d+\.\\d+)', 1 ) AS ipAddress
      FROM tmp
      
      我的结果与您的样本数据:


      您的方法必须更加复杂,例如,电子邮件的正则表达式是错误的。

      1。您是否可以在列中显示示例值?2.split(…)用示例编辑了我的问题我想,regex