gpt4 book ai didi

apache-spark - 如何在带有分隔符| @ |的spark sql中使用Split函数?

转载 作者:行者123 更新时间:2023-12-02 20:14:59 24 4
gpt4 key购买 nike

我的专栏包含的数据如下:

col
---
abc|@|pqr|@|xyz
aaa|@|sss|@|sdf
它由| @ |删除(管道,@,管道)。
如何用Spark SQL拆分它。
我正在尝试 spark.sql("select split(col,'|@|')").show(),但没有给我适当的结果。
我尝试转义\,但仍然没有运气。
谁能知道这是怎么回事。
注意:我只需要Spark sql解决方案。

最佳答案

我不确定我是否正确理解了您的问题说明,但是用其定界符分割字符串是相当简单的,并且可以通过多种方式来完成。
方法之一是使用SUBSTRING_INDEX-

val data = Seq(("abc|@|pqr|@|xyz"),("aaa|@|sss|@|sdf")).toDF("col1")
data.createOrReplaceTempView("testSplit")
其次是 -
%sql
select *,substring_index(col1,'|@|',1) as value1, substring_index(col1,'|@|',2) as value2, substring_index(col1,'|@|',3) as value3 from testSplit
结果-
Spark SQL Query Result
- Split Function Documentation
%sql
select *,SPLIT(col1,'\\|@\\|') as SplitString from testSplit
结果-
Split function result
让我知道这是否满足您的要求。

关于apache-spark - 如何在带有分隔符| @ |的spark sql中使用Split函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64438583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com