我正在学习Scala和Spark,我有一个带有IDS的“tablatemporal”。在Scala中,我希望一行一行地合并一个文本,如下所示:
SELECT '<a href=https://www.myPage.com/visitID_' || _id || '>VisitID</a>'
FROM tablaTemporal
<a href=https://www.myWebPage.com/visitThisID_1>Visit ID tutorial</a>
<a href=https://www.myWebPage.com/visitThisID_2>Visit ID tutorial</a>
<a href=https://www.myWebPage.com/visitThisID_3>Visit ID tutorial</a>
<a href=https://www.myWebPage.com/visitThisID_4>Visit ID tutorial</a>
<a href=https://www.myWebPage.com/visitThisID_5>Visit ID tutorial</a>
val fixPartBefore = " <a href="https://www.myWebPage.com/visitThisID_> ";
val fixPartAfter = ">Visit ID tutorial</a>";
result = fixPartBefore + id + fixPartafter
scala> val intento1 = sql("SELECT _id FROM tablaTemporal where _id < 6" )
intento1: org.apache.spark.sql.DataFrame = [_id: bigint]
scala> intento1.show(20, false)
+---+
|_id|
+---+
|1 |
|2 |
|3 |
|4 |
|5 |
+---+
scala>
您可以像这样使用UserDefinedFunction
val fixPartBefore = " <a href="https://www.myWebPage.com/visitThisID_> "
val fixPartAfter = ">Visit ID tutorial</a>"
val ownConcat = udf((id: String) => {
fixPartBefore + id + fixPartafter
})
data.withColumn("html", ownConcat('id)).show
或者使用内置的concat
concat_ws
函数
我有一个以下数据(alldata),它有SQL查询和视图名称。 我已经拆分并正确地将其分配给诱惑(alldata) 当我尝试执行查询并从中注册tempview或表时,它显示空指针错误。但是当我注释掉spark时,PRINTLN显示了表中的所有值。sql语句。 但是当我用spark.sql执行它时,它会显示以下错误,请帮助我出错的地方。 19/12/09 02:43:12错误执行器:在阶段4.0任务
当我使用spark API运行类似的代码时,它在许多不同的(分布式)作业中运行,并且成功运行。当我运行它时,我的代码(应该做与Spark代码相同的事情),我得到一个堆栈溢出错误。知道为什么吗? 代码如下: 我相信我正在使用与spark相同的所有并行化工作,但它对我不起作用。任何关于使我的代码分发/帮助了解为什么在我的代码中发生内存溢出的建议都将是非常有帮助的
我正在考虑将dataset1分解为每个“T”类型的多个记录,然后与DataSet2连接。但是你能给我一个更好的方法,如果数据集变大了,它不会影响性能吗?
我有一个新手火花问题。下面是我试图执行的程序: 我试图做的计算(doComput)是昂贵的,因为内存限制,我决定将数据集重新分区为7000个分区(即使我有1200个执行器,所以一次只能执行1200个)。然而,在完成计算后,我尝试写入s3,它大部分工作正常,但很少有任务最终超时,工作被重试。 1) 为什么在我保存在进行昂贵计算后生成的RDD时,整个作业都会被重试? 2) 我试图在持久化之后合并,但s
问题内容: 我们有些SQL杂语。说我有一个看起来像这样的结果… 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | A 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | B 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | C 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | D 7ce9