我想获取一个json文件并Map它,使其中一列成为另一列的子串,例如获取左表并生成右表:
------------ ------------------------
| a | | a | b |
|------------| -> |------------|---------|
|hello, world| |hello, world| hello |
我可以使用spark-sql语法来实现这一点,但是如何使用内置函数来实现呢?
6条答案
按热度按时间u3r8eeie1#
这样的语句可用于
dataFrame.select(col("a"), substring_index(col("a"), ",", 1).as("b"))
xlpyo6sf2#
假设您有以下 Dataframe :
您可以从第一列中创建一个新列的子集,如下所示:
dba5bblo3#
可以使用
withColumn
函数b5lpy0ml4#
只是为了丰富现有的答案。如果你对字符串列的正确部分感兴趣的话。那就是:
应该使用负索引:
tjrkku2a5#
您可以使用
pyspark
的方法来完成,如以下示例所示:piah890a6#
如果你想从字符串的开头得到子字符串,那么从0开始计算它们的索引,其中字母'h'有第7个索引,字母'o'有第11个索引:
如果你想在一列中得到最后5个字符串和长度等于5单词'hello',那么用途: