我创建了一个数据帧
'df1=spark.read.format("csv").option("delimiter","|").load(file)'
现在我想从数据框中选择列
df1.select("col1","col2","col3")
这个很好用。但是我可以在同一个语句中包含两列吗。以COL1为年龄,COL2为第一名称,COL3为姓氏。我正在寻找下面提到的输出,包括名字和姓氏。我知道可以使用sparksql来完成。我想知道这可以在上面的df1中完成。select()语句。谢谢
col1 col2col3
23 JohnHarper
20 MarshallMathers
你可以试试这样的
df1.select("col1",concat("col2","col3"))
您可以使用concat
函数作为
from pyspark.sql.functions import *
df1.select("col1",concat("col2","col3").alias("col2col3")).show(truncate=False)
或者使用concat_ws
作为
df1.select("col1",concat_ws("", "col2","col3").alias("col2col3")).show(truncate=False)
或者您可以使用udf
函数作为
from pyspark.sql.functions import *
from pyspark.sql.types import *
@udf(StringType())
def concatenating(x, y):
return "".join([x,y])
df1.select("col1", concatenating(col("col2"),col("col3")).alias("col2col3")).show(truncate=False)
假设我有一个spark数据帧,有几列(其中列)和数据帧,有两列:和。 是否有复制以下命令的方法
我有以下数据框: 我想用列创建一个新的数据帧,并从开始连接每两列,因此最终表如下所示:
这不是一个重复的问题,但类似于 根据pandas中列中的值从数据帧中选择行
有没有人知道从一个有多个列的主数据帧创建一个包含特定列信息的新数据帧的方法?我有一个主数据帧,我正在尝试对数据帧中的特定列运行各种测试(回归、方差分析等)。如有任何建议,将不胜感激。
我们有一个web应用程序,我们想在“批处理”模式下运行,在这种模式下,我们不希望任何endpoint暴露(出于安全原因)。 这在SpringBoot可能吗?
问题内容: 有没有一种方法可以完全使用客户端Javascript访问MySql数据库,或者是否需要使用PHP或C#这样的服务器端语言? 谢谢 问题答案: 如果Javascript在浏览器中运行,则无法访问MySQL数据库。首先,这是一个技术限制,因为Javascript无法通信任意协议(不,WebSockets不是解决方案)。请注意,作为服务器端和所有端的Node.js是一种“不同类型的javas