我输入一个数组,然后我想得到它们的unicode并存储到一个Dataframe中。这是我的密码
def getUnicodeOfEmoji (emojiArray : Array[String]) : DataFrame = {
val existingSparkSession = SparkSession.builder().getOrCreate()
import existingSparkSession.implicits._
var result: DataFrame = null
var df : DataFrame = null
for (i <- 0 until emojiArray.length) {
df = Seq(emojiArray(i)).toDF("emoji")
df.show()
result = df.selectExpr(
"emoji",
"'U+' || trim('0' , string(hex(encode(emoji, 'utf-32')))) as result"
)
}
result.show(false)
return result
}
}
input = val emojis="???"
实际产量
|emoji|result |
+-----+-------+
|? |U+1F60D|
+-----+-------+
但是我需要在Dataframe中包含所有3个emoji及其特定的unicode。
1条答案
按热度按时间jyztefdp1#
构建Dataframe不需要for循环。可以将数组转换为
Seq
使用toDF
a方法Seq
构造生成的Dataframe。一个小小的改进是将你的表情串转换成
Seq[String]
直接输入函数之前,例如。