相关疑难解决方法(0)

scala中的擦除消除:非变量类型参数未被选中,因为它通过擦除被消除

我有一个序列Seq [Any],其中包含各种对象(如String,Integer,List [String]等).我正在尝试筛选列表并将其分解为基于类类型分区的单独列表.以下是我在代码中使用的模式:

val allApis = mySequence.filter(_.isInstanceOf[String])
Run Code Online (Sandbox Code Playgroud)

这很好用,不会产生任何警告.但是,当我尝试过滤掉作为字符串列表的对象时:

val allApis = mySequence.filter(_.isInstanceOf[List[String]])
Run Code Online (Sandbox Code Playgroud)

我得到一个警告,说明列表[String]类型中的非变量类型参数String是未选中的,因为它被擦除消除了.现在,这项技术确实有效,我可以根据需要轻松过滤序列,但我想知道以恰当的方式处理警告的适当方法是什么,以便我知道我没有一个严重的错误潜伏在背景中等待爆炸

scala type-erasure

47
推荐指数
2
解决办法
2万
查看次数

在Spark中展平行

我正在使用scala对spark进行一些测试.我们通常会读取需要操作的json文件,如下例所示:

test.json:

{"a":1,"b":[2,3]}
Run Code Online (Sandbox Code Playgroud)
val test = sqlContext.read.json("test.json")
Run Code Online (Sandbox Code Playgroud)

如何将其转换为以下格式:

{"a":1,"b":2}
{"a":1,"b":3}
Run Code Online (Sandbox Code Playgroud)

scala distributed-computing apache-spark apache-spark-sql

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

如何在Spark中读取嵌套集合

我有一张镶有桌子的镶木桌子

,array <struct <col1,col2,.. colN >>

可以使用LATERAL VIEW语法在Hive中对此表运行查询.

如何将此表读入RDD,更重要的是如何在Spark中过滤,映射等嵌套集合?

在Spark文档中找不到对此的任何引用.提前感谢您的任何信息!

PS.感觉可能有助于在桌子上给出一些统计数据.主表~600中的列数.行数~200m.嵌套集合中的"列"数〜10.平均集合中的平均记录数~35.

nested apache-spark parquet apache-spark-sql lateral-join

18
推荐指数
2
解决办法
2万
查看次数

DataFrame 分解 JSON 对象列表

我有以下格式的 JSON 数据:

{
     "date": 100
     "userId": 1
     "data": [
         {
             "timeStamp": 101,
             "reading": 1
         },
         {
             "timeStamp": 102,
             "reading": 2
         }
     ]
 }
 {
     "date": 200
     "userId": 1
     "data": [
         {
             "timeStamp": 201,
             "reading": 3
         },
         {
             "timeStamp": 202,
             "reading": 4
         }
     ]
 }
Run Code Online (Sandbox Code Playgroud)

我将其读入 Spark SQL:

val df = SQLContext.read.json(...)
df.printSchema
// root
//  |-- date: double (nullable = true)
//  |-- userId: long (nullable = true)
//  |-- data: array (nullable = true)
//  |     |-- element: …
Run Code Online (Sandbox Code Playgroud)

scala distributed-computing apache-spark apache-spark-sql

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