Java 火花:什么是“火花”;expr";什么意思?

Java 火花:什么是“火花”;expr";什么意思?,java,scala,apache-spark,Java,Scala,Apache Spark,我正在学习Java中的Spark,我注意到要添加一个专栏,我们可以使用 dataset.withColumn("name", expr(something)) 我想知道expr的语法是什么?它是正则表达式吗?我没有找到这方面的手册 谢谢。函数“expr”需要一个字符串,其中包含一点定义列的SQL。例如: val df = List("1AB","2XX","3Y").toDF("id") df.

我正在学习Java中的Spark,我注意到要添加一个专栏,我们可以使用

dataset.withColumn("name", expr(something))
我想知道
expr
的语法是什么?它是正则表达式吗?我没有找到这方面的手册


谢谢。

函数“expr”需要一个字符串,其中包含一点定义列的SQL。例如:

val df = List("1AB","2XX","3Y").toDF("id")
df.withColumn("first2OfID", expr("substr(id,1,2)")).show

+---+----------+
| id|first2OfID|
+---+----------+
|1AB|        1A|
|2XX|        2X|
| 3Y|        3Y|
+---+----------+

函数“expr”需要一个字符串,该字符串包含一个定义列的SQL位。例如:

val df = List("1AB","2XX","3Y").toDF("id")
df.withColumn("first2OfID", expr("substr(id,1,2)")).show

+---+----------+
| id|first2OfID|
+---+----------+
|1AB|        1A|
|2XX|        2X|
| 3Y|        3Y|
+---+----------+

嗨,谢谢,现在我明白了。还有一个问题:是否可以只使用expr()创建而不使用dataset?我想您是在问,您能编写简单的SQL吗?答案是肯定的,使用spark.sql(“从数据集选择*”)注意您的数据必须在spark中注册,例如,从配置单元读取数据,或使用dataframe.registerTemptable您好,现在我明白了。还有一个问题:是否可以只使用expr()创建而不使用dataset?我想您是在问,您能编写简单的SQL吗?答案是肯定的,使用spark.sql(“select*from dataset”)注意您的数据必须在spark中注册,例如,从配置单元读取数据,或者使用dataframe.registerTempTable