在Spark Java中编写时,我在访问Dataframe的行中的一列时遇到此错误。我不明白为什么从行中检索WrappedArray而不是普通数组。 java.lang.ClassCastException: class scala.collection.mutable.WrappedArray$ofRef cannot be cast to class [Ljava.lang.String 示例代码: String[] myarray = my_df_row.getAs("col_name"); 我需要Java代码,而不是scala或python。如何解决这个问题?
这个问题已经被问到了Scala的,但它对我没有帮助,因为我正在使用Java API。我真的把所有的东西和厨房的水槽都扔进去了,所以这是我的方法:
List<String> sourceClasses = new ArrayList<String>();
//Add elements
List<String> targetClasses = new ArrayList<String>();
//Add elements
dataset = dataset.withColumn("Transformer", callUDF(
我有了这个数据帧,我想把数据列中的所有数组组合成一个大数组,独立于DataFrame。
Scala和DataFrame应用程序接口对我来说仍然很新,但我已经尝试过了:
case class Tile(data: Array[Int])
val ta = Tile(Array(1,2))
val tb = Tile(Array(3,4))
val tc = Tile(Array(5,6))
df = ListBuffer(ta,tb,tc).toDF()
// Combine contents of DF into one array
val result = new Array[Int
我正在使用中给出的火花中LDA的示例代码。
我有一个语料库文件,其中每一行都是一个文档,我使用
val corpus: RDD[String] = sc.textFile("C:/corpus.txt")
我还有一个ngram文件,其中每一行都是bigram/trigram等,我使用
val ngramFile: RDD[String] = sc.textFile("C:/ngram.txt")
我想修改下面的一行,并在每个文档中只取匹配的ngram
val tokenized: RDD[Seq[String]] = corpus
.map(_.toLowe
在Spark2.2中通过spark.kryo.registrationRequired", "true"强制kryo注册时,我的错误是
Class is not registered: org.apache.spark.sql.catalyst.InternalRow[]
即使在使用时:
.registerKryoClasses(
Array(classOf[scala.collection.mutable.WrappedArray.ofRef[_]],
classOf[org.apache.spark.sql.cat
我在HDFS中有数千个小文件。需要处理一个稍微小一点的文件子集(同样是以千为单位),fileList包含需要处理的文件列表。
// fileList == list of filepaths in HDFS
var masterRDD: org.apache.spark.rdd.RDD[(String, String)] = sparkContext.emptyRDD
for (i <- 0 to fileList.size() - 1) {
val filePath = fileStatus.get(i)
val fileRDD = sparkContext.textFile(f
我有以下简单的程序,我不知道如何在Scala中读取数组中的值。
val all_marks = Result.groupBy("class", "school").agg(collect_list("mark") as "marks",count("*") as "cnt").where($"cnt" > 10)
var mrk=all_marks.collect().map(mark=>""+mark(2))
结果如下所示:
mrk: Array[St
我正在尝试使用星火流来读取安全集群中的Nifi数据。我通过在SSLContext中添加SSLContext来进行身份验证,但是SSLContext是不可序列化的。
我的代码如下:
def main(args: Array[String]) {
val pKeyFile = new java.io.File("/path/to/file-cert.pfx")
val pKeyPassword = "password"
val keyStore = java.security.KeyStore.getIns
我用的是笔记本。所以火花基本上是在互动模式下运行的。这里我不能使用闭包变量,因为齐柏林飞艇抛出了org.apache.spark.SparkException: Task not serializable,因为它试图序列化整个段落(更大的闭包)。
因此,如果没有闭包方法,我只能将map作为列传递给UDF。
我收集了一张从已销毁的RDD中收集的地图:
final val idxMap = idxMapRdd.collectAsMap
它正被用于星火变换中:
def labelStr(predictions: WrappedArray[Double], idxMap: Map[Double, St