我正在开发一个需要注销服务的移动应用程序.登录服务是通过从数据库验证完成的,现在我陷入了退出状态.
我正在尝试编写将RDD转换为Dataset的示例Apache Spark程序.但在这个过程中,我得到编译时错误.
这是我的示例代码和错误:
码:
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.SparkContext
import org.apache.spark.sql.Dataset
object Hello {
case class Person(name: String, age: Int)
def main(args: Array[String]){
val conf = new SparkConf()
.setAppName("first example")
.setMaster("local")
val sc = new SparkContext(conf)
val peopleRDD: RDD[Person] = sc.parallelize(Seq(Person("John", 27)))
val people = peopleRDD.toDS
}
}
Run Code Online (Sandbox Code Playgroud)
我的错误是:
value toDS is not a member of org.apache.spark.rdd.RDD[Person]
Run Code Online (Sandbox Code Playgroud)
我添加了Spark核心和spark SQL jar.
我的版本是:
Spark 1.6.2
斯卡拉2.10
我正在尝试使用Spark v2.0.0读取Json文件.如果简单的数据代码工作得很好.如果数据有点复杂,当我打印df.show()时数据没有以正确的方式显示.
这是我的代码:
SparkSession session = SparkSession.builder().master("local").appName("jsonreader").getOrCreate();
Dataset<Row> list = session.read().json("/Users/hadoop/Desktop/sample.json");
list.show();
Run Code Online (Sandbox Code Playgroud)
这是我的示例数据:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的输出就像:
+--------------------+
| _corrupt_record|
+--------------------+
| {|
| "glossary": {|
| "title": ...|
| …Run Code Online (Sandbox Code Playgroud) 根据DataFrames API,定义为:
public void foreach(scala.Function1<Row,scala.runtime.BoxedUnit> f)
Run Code Online (Sandbox Code Playgroud)
将函数f应用于所有行。
但是当我尝试像
Dataframe df = sql.read()
.format("com.databricks.spark.csv")
.option("header","true")
.load("file:///home/hadoop/Desktop/examples.csv");
df.foreach(x->
{
System.out.println(x);
});
Run Code Online (Sandbox Code Playgroud)
我收到编译时间错误。有什么错吗
我正在开发基于Jersey REST API的Web应用程序.我正在根据客户端要求(JSON格式的输入参数)开发POST服务,并且工作正常.现在他们想要改变输入格式,如下所示.现在我得到415错误(不支持的媒体类型).
这是旧的JSON格式,它的效果很好:
{
"weight": 5.0,
"length": 1.5,
"width": 2.7,
"height": 0.7
}
Run Code Online (Sandbox Code Playgroud)
这个格式客户端需要发送.
{
weight = 12;
with = 78;
height = 78;
length = 5;
}
Run Code Online (Sandbox Code Playgroud)
这是我的POST服务:
@POST
@Path("/insert")
@Consumes({MediaType.TEXT_PLAIN})
@Produces({MediaType.APPLICATION_JSON})
Run Code Online (Sandbox Code Playgroud)
以前我用过
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
Run Code Online (Sandbox Code Playgroud) 我想在我的ubuntu中安装SBT 0.13.6版本.为此,我执行以下步骤:
wget http://dl.bintray.com/sbt/debian/sbt-0.13.6.deb
sudo dpkg -i sbt-0.13.6.deb
sudo apt-get update
sudo apt-get install sbt
Run Code Online (Sandbox Code Playgroud)
安装后,当我检查sbt版本时,它显示版本1.0.3.
这是命令:
hadoop@localhost:~$ sbt about
Getting org.scala-sbt sbt 1.0.3 ...
:: retrieving :: org.scala-sbt#boot-app
confs: [default]
69 artifacts copied, 0 already retrieved (22027kB/913ms)
Getting Scala 2.12.4 (for sbt)...
:: retrieving :: org.scala-sbt#boot-scala
confs: [default]
5 artifacts copied, 0 already retrieved (18986kB/225ms)
[info] Loading project definition from /home/hadoop/project
[info] Set current project to hadoop (in build file:/home/hadoop/)
[info] This is …Run Code Online (Sandbox Code Playgroud)