小编Pi *_* Pi的帖子

什么是XML属性xmlns:app?

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)

android android-xml

9
推荐指数
1
解决办法
7103
查看次数

为什么IDEA找不到DS()和toDF()函数?

我的代码在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错了:

在此输入图像描述
我已经在"spark-2.0.0-bin-hadoop2.7/jars /"中导入了所有的罐子,但仍然找不到这个功能.

intellij-idea apache-spark-sql

8
推荐指数
1
解决办法
6186
查看次数

为什么 Spark ML ALS 算法打印 RMSE = NaN?

我使用 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)

scala machine-learning apache-spark

5
推荐指数
2
解决办法
4070
查看次数

如何处理Spark DataFrame中的array &lt;String&gt;?

我有一个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)

如何获得此数据框?

scala apache-spark

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

为什么posexplode失败并出现"AnalysisException:AS子句中提供的别名数与列数不匹配......"?

这是我的数据帧:

+------------------------------------------
|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"为给定数组或映射列中具有位置的每个元素创建一个新行."

apache-spark apache-spark-sql spark-dataframe

5
推荐指数
2
解决办法
4534
查看次数