小编Swa*_*shi的帖子

如何在scala案例类中使用特殊字符

我正在使用下面的 JSON,

{
  "@context": "Testingcontext",
  "@type": "Testingtype",
  "actor": "Testingactor"
}
Run Code Online (Sandbox Code Playgroud)

我正在 scala 中创建一个案例类:

case class LoggedInAction(`@context`: String,`@type`:String,actor:String) 
Run Code Online (Sandbox Code Playgroud)

如何在案例类中使用特殊字符@,例如 , ?&另外,如何使用此类案例类字段?

scala class case

6
推荐指数
1
解决办法
1506
查看次数

如何在spark数据集上使用group by

我正在使用Spark Dataset(Spark 1.6.1版本).以下是我的代码

object App { 

val conf = new SparkConf()
.setMaster("local")
.setAppName("SparkETL")

val sc = new SparkContext(conf)
sc.setLogLevel("ERROR")
val sqlContext = new SQLContext(sc);
import sqlContext.implicits._

}

override def readDataTable(tableName:String):DataFrame={
val dataFrame= App.sqlContext.read.jdbc(JDBC_URL, tableName, JDBC_PROP);
return dataFrame;
}


case class Student(stud_id , sname , saddress)
case class Student(classid, stud_id, name)


var tbl_student = JobSqlDAO.readDataTable("tbl_student").filter("stud_id = '" + studId + "'").as[Student].as("tbl_student")

var tbl_class_student = JobSqlDAO.readDataTable("tbl_class_student").as[StudentClass].as("tbl_class_student")


 var result = tbl_class_student.joinWith(tbl_student, $"tbl_student.stud_id" === $"tbl_class_student.stud_id").as("ff")
Run Code Online (Sandbox Code Playgroud)

现在我想在多列上执行group by子句?怎么做? result.groupBy(_._1._1.created_at)我可以这样做吗?如果是的话,那么我不能将结果看作一个组也是如何在多个列上进行的?

dataset apache-spark apache-spark-dataset

5
推荐指数
1
解决办法
3104
查看次数

Scala map是undefinedAt()vs contains()方法

下面是我的HashMap:

val params1 = collection.mutable.HashMap[String, Any]()

params1 += "forCourseId" -> "2"

println(params1.isDefinedAt("forCourseId"))

println(params1.contains("forCourseId"))
Run Code Online (Sandbox Code Playgroud)

isDefinedAt()contains()方法有什么区别?

我需要检查密钥是否存在主要关注点,它不会抛出空指针异常.

dictionary scala

3
推荐指数
1
解决办法
1218
查看次数

Anorm Mysql存储过程调用

这是我简单的存储过程,

DELIMITER $$

USE `TestDB`$$

DROP PROCEDURE IF EXISTS `test123`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `test123`(id INT(11) , user_name VARCHAR(15), branch VARCHAR(15))
BEGIN
INSERT INTO Testlog(id,user_name,branch)
VALUES(id,user_name,branch);
END$$

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

我可以使用mysql中的以下命令运行上面的存储过程

CALL `TestDB`.test123(3,"swap","desc")
Run Code Online (Sandbox Code Playgroud)

但使用anorm怎么做?

DB.withConnection { implicit c =>
SQL("EXCE  test123 {id},{name},{branch}").
on('id -> 22,
'name -> "lcs",
'branch -> "desc").executeQuery()

}
Run Code Online (Sandbox Code Playgroud)

如何在Anorm中运行存储过程

mysql stored-procedures scala playframework anorm

2
推荐指数
1
解决办法
412
查看次数