在多节点集群中我们可以将hadoop块复制因子设置为0吗?
那可能吗?如果可能那么会发生什么?
如果我们在单个伪模式集群中将hadoop块复制因子设置为0,会发生什么?
上下文
我正在使用Spark 1.5.
我有一个文件records.txt,它是ctrl A分隔的,在该文件中,第31个索引是用于subscriber_id.对于某些记录,subscriber_id为空.subscriber_id记录不为空.
这里subscriber_id(UK8jikahasjp23)位于最后一个属性之前:
99^A2013-12-11^A23421421412^qweqweqw2222^A34232432432^A365633049^A1^A6yudgfdhaf9923^AAC^APrimary DTV^AKKKR DATA+ PVR3^AGrundig^AKKKR PVR3^AKKKR DATA+ PVR3^A127b146^APVR3^AYes^ANo^ANo^ANo^AYes^AYes^ANo^A2017-08-07 21:27:30.000000^AYes^ANo^ANo^A6yudgfdhaf9923^A7290921396551747605^A2013-12-11 16:00:03.000000^A7022497306379992936^AUK8jikahasjp23^A
Run Code Online (Sandbox Code Playgroud)
subscriber_id记录为空:
23^A2013-12-11^A23421421412^qweqweqw2222^A34232432432^A365633049^A1^A6yudgfdhaf9923^AAC^APrimary DTV^AKKKR DATA+ PVR3^AGrundig^AKKKR PVR3^AKKKR DATA+ PVR3^A127b146^APVR3^AYes^ANo^ANo^ANo^AYes^AYes^ANo^A2017-08-07 21:27:30.000000^AYes^ANo^ANo^A6yudgfdhaf9923^A7290921396551747605^A2013-12-11 16:00:03.000000^A7022497306379992936^A^A
Run Code Online (Sandbox Code Playgroud)
问题
我收到了带有空subscriber_id的记录的java.lang.ArrayIndexOutOfBoundsException.
为什么spark 为字段subscriber_id的空值抛出 java.lang.ArrayIndexOutOfBoundsException?
16/08/20 10:22:18 WARN scheduler.TaskSetManager:阶段8.0中丢失的任务31.0:java.lang.ArrayIndexOutOfBoundsException:31
case class CustomerCard(accountNumber:String, subscriber_id:String,subscriptionStatus:String )
object CustomerCardProcess {
val log = LoggerFactory.getLogger(this.getClass.getName)
def doPerform(sc: SparkContext, sqlContext: HiveContext, custCardRDD: RDD[String]): DataFrame = {
import sqlContext.implicits._
log.info("doCustomerCardProcess method started")
val splitRDD = custCardRDD.map(elem => elem.split("\\u0001"))
val schemaRDD …Run Code Online (Sandbox Code Playgroud) 我正在学习scala,试图理解var变量.
看看下面的代码
scala> var id =10
id: Int = 10
scala> id ="surender"
<console>:12: error: type mismatch;
found : String("surender")
required: Int
id ="surender"
Run Code Online (Sandbox Code Playgroud)
var是可变的,这意味着我们可以更改值,在更改值时我们是否需要坚持使用相同的数据类型?
这是否意味着静态类型语言?
我是斯卡拉的新手.我需要了解一个基本想法.
在scala中,我们有map,filter,groupBy等.
它们有功能吗?或者他们是方法吗?
我们不能在整数列表上使用scala flatMap方法(即)List [Int]吗?
我收到以下代码的编译时错误
object FlatMapExample {
def main(args:Array[String])
{
val numberList = List(1,2,3)
val mappedList = numberList.map { elem => elem*2 }
println(mappedList)
val flatMappedList = numberList.flatMap { elem => elem*2 }//compile time error
println(flatMappedList)
}
}
Run Code Online (Sandbox Code Playgroud)
编译时间错误:
type mismatch ; found: Int required :scala.collection.GenTraversableOnce[?]
Run Code Online (Sandbox Code Playgroud)