第15课
Spark用BlockManager来管理数据在磁盘/内存/Tacheyon上的位置,分多少片等等。
例子:算一个文本文件每一行的长度
val rdd = sc.textFile(filePath)
val lines = rdd.map(line => line.length()) //map操作转换,每行统计字符数
val sum = lines.reduce(_+_) // reduce把list里面加起来
判断文件大小,算法判断split是多大,默认和block大小一样,128M
sc.textFile(""hdfs://Master:9000/library/wordcount/input/Data)
要注意数据的本地性—数据最好就colocate在spark集群上。对于Oracle等,可以用Alluxio做中间层。
或者说,把数据库的内容倒到Hive上。
sqoop是一个文件导入导出的工具。
Hive做大数据数据管理仓库软件是不错的。