我想知道我可以在sparksql中使用更新查询,就像:
sqlContext.sql("update users set name = '*' where name is null")
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
org.apache.spark.sql.AnalysisException:
Unsupported language features in query:update users set name = '*' where name is null
Run Code Online (Sandbox Code Playgroud)
如果sparksql不支持更新查询或我是否正确编写代码?
我正在使用session(使用express和nodes)创建一个登录模块.当用户登录时,我将用户保存在会话中.
req.session.user= ...
Run Code Online (Sandbox Code Playgroud)
如何在.ejs视图中获取会话值,如:
<label>
???<%= req.session.user.username %>
</label>
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
我可以这样做:
router.get('/home',function(req, res){
var val = req.session.user;
res.render('home',{user:val});
});
Run Code Online (Sandbox Code Playgroud)
.ejs:
<p>
???<%= user.username %>
</p>
Run Code Online (Sandbox Code Playgroud)
但这太麻烦了.有什么更好的方法呢?
(在php中,我可以使用$ _SESSION来获取视图文件中的值.)
我想在DF上使用explode函数,我只是像文档那样编写代码:
case class Url(url:String)
val temp3 = temp2.explode($"urls"){
case Row(urls:Array[String]) => urls.map(Url(_))
}
Run Code Online (Sandbox Code Playgroud)
然而,它出来了:
error: not found: value Row
Run Code Online (Sandbox Code Playgroud)
DF temp2如下:
temp2.printSchema()
root
|-- userid: string (nullable = true)
|-- urls: array (nullable = true)
| |-- element: string (containsNull = true)
Run Code Online (Sandbox Code Playgroud)