项目实战从0到1之Spark(2)Spark读取和存储HDFS上的数据
发布日期:2021-05-14 00:16:45 浏览次数:17 分类:博客文章

本文共 3936 字,大约阅读时间需要 13 分钟。

���������������������������Spark������������HDFS���������������������������������������������������RDD������HDFS���������HDFS������������������HDFS���������������������Driver���������HDFS������������������������������

1���������Hadoop

���������������������Hadoop������hadoop������������������������������������

rm -rf tmp mkdir tmpcd sbinhadoop namenode -formatstart-dfs.shstart-yarn.sh

���������������������������

 
 

2������RDD������HDFS

���������������SparkSession���

val spark = SparkSession      .builder()      .appName("Spark SQL basic example")      .enableHiveSupport()      .getOrCreate()    spark.sparkContext.setLogLevel("WARN")

���RDD������HDFS������������������saveAsTextFile���

val modelNames = Array("FM","FFM","DEEPFM","NFM","DIN","DIEN")val modelNamesRdd = spark.sparkContext.parallelize(modelNames,1)modelNamesRdd.saveAsTextFile("hdfs://localhost:9000/user/root/modelNames")

���������������������������������������������������

 
 

������������RDD���HDFS���������������������������������������������������������������������part-0000������������������������������������������������RDD���

val modelNames3 = Array("FM","FFM","DEEPFM","NFM","DIN","DIEN")val modelNames3Rdd = spark.sparkContext.parallelize(modelNames3,2)modelNames3Rdd.saveAsTextFile("hdfs://localhost:9000/user/root/modelNames3")

������������������������������part-00000���part-00001:

 
 

3���������HDFS������������

������HDFS���������������������textFile���������

val modelNames2 = spark.sparkContext.textFile("hdfs://localhost:9000/user/root/modelNames/part-00000")val modelNames4 = spark.sparkContext.textFile("hdfs://localhost:9000/user/root/modelNames3/")

���������������������������part-00000���������������������������������������part���������������������

4������HDFS���������������������Driver

���������������������������������������HDFS������������������������������������������������Driver������������������java������Scala���I���O���������������������������������addFile���get������������������

val files = "hdfs://localhost:9000/user/root/modelNames/part-00000"spark.sparkContext.addFile(files)val path = SparkFiles.get("part-00000")println(path)

���������������������������������������������������

 
 

������������path������������������������scala���I���O���������������

val source = Source.fromFile(path)val lineIterator = source.getLinesval lines =lineIterator.toArrayprintln(lines.mkString(","))

������������

FM,FFM,DEEPFM,NFM,DIN,DIEN

5���������HDFS���������������������������

���������HDFS������������������������������Driver���������������������������������������������������������������������������������������

val conf = spark.sparkContext.hadoopConfigurationval path = new org.apache.hadoop.fs.Path("hdfs://localhost:9000/user/root/modelNames/part-00000")val fs = path.getFileSystem(conf) //���hdfs������������������������������val modelNamesExists = fs.exists(path)val modelNames1Exists = fs.exists(new org.apache.hadoop.fs.Path("hdfs://localhost:9000/user/root/modelNames1/part-00000"))println(modelNamesExists)println(modelNames1Exists)

������������������

truefalse

���������������������������������������������������������������������

val conf = spark.sparkContext.hadoopConfigurationval fs = org.apache.hadoop.fs.FileSystem.get(conf)val modelNamesExists = fs.exists(new org.apache.hadoop.fs.Path("hdfs://localhost:9000/user/root/modelNames/part-00000"))val modelNames1Exists = fs.exists(new org.apache.hadoop.fs.Path("hdfs://localhost:9000/user/root/modelNames1/part-00000"))println(modelNamesExists)println(modelNames1Exists)

������������������������������������������������������������������������������������

Wrong FS: hdfs://localhost:9000/user/root/modelNames/part-00000, expected: file:///

���������������������������������������������������������������������������������getFileSystem���������hdfs������������������������������������������������������������������

���������������������������������������������������������������������������

上一篇:项目实战从0到1之Spark(3)spark读取hive数据
下一篇:项目实战 从 0 到 1 学习之Flink (26)Flink采集kafka数据后存到mongodb

发表评论

最新留言

不错!
[***.144.177.141]2025年05月03日 01时14分24秒