当前位置:   article > 正文

Spark读取文件系统的数据_pyspark读取hdfs文件列表

pyspark读取hdfs文件列表

(1)在pyspark中读取Linux系统本地文件“/home/hadoop/test.txt”(如果该文件不存在,请创建并自由添加内容),然后统计出文件的行数;

  1. cat /home/hadoop/test.txt
  2. pyspark
  3. lines = sc.textFile("file:///home/hadoop/test.txt")
  4. line_count = lines.count()
  5. print("Line count:", line_count)

 

(2)在pyspark中读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请创建并自由添加内容),然后统计出文件的行数;

  1. hadoop fs -cat /user/hadoop/test.txt
  2. pyspark
  3. lines = sc.textFile("hdfs:///user/hadoop/test.txt")
  4. line_count = lines.count()
  5. print("Line count:", line_count)

 

(3)编写独立应用程序,读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请创建并自由添加内容),然后统计出文件的行数;通过 spark-submit 提交到 Spark 中运行程序。

  1. cd /opt/module/spark-3.0.3-bin-without-hadoop/mycode/
  2. touch File_Count.py
  3. vim File_Count.py
  4. from pyspark import SparkConf,SparkContext
  5. conf = SparkConf().setMaster("local").setAppName("File Count")
  6. sc = SparkContext(conf = conf)
  7. lines = sc.textFile("hdfs:///user/hadoop/test.txt")
  8. line_count = lines.count()
  9. print("Line count:", line_count)
  10. sc.stop()
  11. spark-submit File_Count.py

 

 

 总结

  1.  通过比较在pyspark中读取文件的代码和编写独立应用程序读取文件的代码,了解了在启动pyspark的时候,会自动创建一个SparkContext对象,不需要再创建,而在编写独立应用程序读取文件时需要先导入相关模块再创建SparkContext对象。
  2.  编程中也遇到很多问题,如:通过spark-sumbit运行程序时,会产生很多其他信息,执行结果会与其他信息混合在一起显示。可以通过修改log4j的日志显示级别,设置不显示INFO级别的信息,只输出自己的控制台输出的信息。在尝试使用python运行程序时,显示no moudle named pyspark,这时需要vim ~/.bashrc配置环境变量,配置PYTHONPATH环境变量用来在python中引入pyspark库,PYSPARK_PYTHON变量用来设置pyspark运行的python版本,要特别注意/opt/module/spark-3.0.3-bin-without-hadoop/python/lib目录下的py4j-0.10.9-src.zip文件名,在PYTHONPATH的设置中需要使用。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/586228
推荐阅读
相关标签
  

闽ICP备14008679号