1、当我做transfomer的时候没有问题,可是一做到action操作就会报错。 以下是几个小问题: distFile = sc.textFile(" hdfs://user/spark/test/201201.csv") distFile.map(lambda s: len(s)).reduce(lambda a, b: a + b) 执行第一条没问题,执行第二条的时候就会报错: Illegal character in scheme name at index 0: hdfs://user/spark/test/201201.csv 之后找了半天,发现写地址的时候没小心复制多了个空格,导致这个问题。 修改掉之后再一运行,又换了个错误: 大概是包括net什么的,具体没保留,查了一下,修改地址: distFile = sc.textFile("hdfs://master:8020/user/spark/test/201201.csv") 之后又报了个错误,pyspark.sql.utils.IllegalArgumentException: ‘java.net.UnknownHostException: user‘ 这之后查了一些资料也没有太有用的,突然我想为什么一定用绝对路径,相对路径试试。于是之后: distFile = sc.textFile("hdfs://user/spark/test/201201.csv") 这次没有问题了,正常执行,之前的问题应该是master:8020这部分,这个可以修改一些不同的设置试试,应该也可以解决,另外编程过程中尽量不要用绝对路径,多用相对路径。