XML适用于:
xmlns:app="http://schemas.android.com/apk/res-auto"
Run Code Online (Sandbox Code Playgroud)
但是看不到最大字符
xmlns:app="http://schemas.android.com/tools"
Run Code Online (Sandbox Code Playgroud)
这是由Android Studio auto完成的.
这是我的XML:
<com.rengwuxian.materialedittext.MaterialEditText
android:id="@+id/remark_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
app:met_maxCharacters="20"
app:met_baseColor="@color/black"
app:met_primaryColor="@color/white" />
Run Code Online (Sandbox Code Playgroud) 我的代码在spark-shell中运行良好:
scala> case class Person(name:String,age:Int)
defined class Person
scala> val person = Seq(Person("ppopo",23)).toDS()
person: org.apache.spark.sql.Dataset[Person] = [name: string, age: int]
scala> person.show()
+-----+---+
| name|age|
+-----+---+
|ppopo| 23|
+-----+---+
Run Code Online (Sandbox Code Playgroud)
但在IDEA错了:
我使用 ALS 来预测评级,这是我的代码:
val als = new ALS()
.setMaxIter(5)
.setRegParam(0.01)
.setUserCol("user_id")
.setItemCol("business_id")
.setRatingCol("stars")
val model = als.fit(training)
// Evaluate the model by computing the RMSE on the test data
val predictions = model.transform(testing)
predictions.sort("user_id").show(1000)
val evaluator = new RegressionEvaluator()
.setMetricName("rmse")
.setLabelCol("stars")
.setPredictionCol("prediction")
val rmse = evaluator.evaluate(predictions)
println(s"Root-mean-square error = $rmse")
Run Code Online (Sandbox Code Playgroud)
但得到一些负分,RMSE 为 Nan:
+-------+-----------+---------+------------+
|user_id|business_id| stars| prediction|
+-------+-----------+---------+------------+
| 0| 2175| 4.0| 4.0388923|
| 0| 5753| 3.0| 2.6875196|
| 0| 9199| 4.0| 4.1753435|
| 0| 16416| 2.0| -2.710618|
| 0| …Run Code Online (Sandbox Code Playgroud) 我有一个json数据集,其格式为:
val data = spark.read.json("user.json").select("user_id","friends").show()
+--------------------+--------------------+
| user_id| friends|
+--------------------+--------------------+
|18kPq7GPye-YQ3LyK...|[rpOyqD_893cqmDAt...|
|rpOyqD_893cqmDAtJ...|[18kPq7GPye-YQ3Ly...|
|4U9kSBLuBDU391x6b...|[18kPq7GPye-YQ3Ly...|
|fHtTaujcyKvXglE33...|[18kPq7GPye-YQ3Ly...|
+--------------------+--------------------+
data: org.apache.spark.sql.DataFrame = [user_id: string, friends: array<string>]
Run Code Online (Sandbox Code Playgroud)
如何将其转换为[user_id:字符串,朋友:字符串],例如:
+--------------------+--------------------+
| user_id| friend|
+--------------------+--------------------+
|18kPq7GPye-YQ3LyK...| rpOyqD_893cqmDAt...|
|18kPq7GPye-YQ3LyK...| 18kPq7GPye-YQ3Ly...|
|4U9kSBLuBDU391x6b...| 18kPq7GPye-YQ3Ly...|
|fHtTaujcyKvXglE33...| 18kPq7GPye-YQ3Ly...|
+--------------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
如何获得此数据框?
这是我的数据帧:
+------------------------------------------
|value
+------------------------------------------
|[0.0, 1.0, 0.0, 7.0000000000000036, 0.0]
|[2.0000000000000036, 0.0, 2.9999999999999996, 4.0000000000000036, 5.000000000000002]
|[4.000000000000006, 0.0, 0.0, 6.000000000000006, 7.000000000000004]
+------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我用的时候:
dataFrame.withColumn("item_id", posexplode(dataFrame.col("value")))
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
org.apache.spark.sql.AnalysisException: The number of aliases supplied in the AS clause does not match the number of columns output by the UDTF expected 2 aliases but got item_id ;
Run Code Online (Sandbox Code Playgroud)
那么,如何使用posexplode"为给定数组或映射列中具有位置的每个元素创建一个新行."