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这部分,这个可以修改一些不同的设置试试,应该也可以解决,另外编程过程中尽量不要用绝对路径,多用相对路径。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/192441.html