spark = SparkSession.builder.master('local').appName("hxy_test_script").getOrCreate()
sc = spark.sparkContext
# s3环境
sc._jsc.hadoopConfiguration().set("fs.s3a.access.key", 你的s3ID-key)
sc._jsc.hadoopConfiguration().set("fs.s3a.secret.key", 你的s3SECRET-key)
sc._jsc.hadoopConfiguration().set("fs.s3a.endpoint", "s3.cn-north-1.amazonaws.com.cn")
rdd_data = sc.wholetextFile("s3a://要读的bucket_name/text/xxx.txt") # 举例的,实际情况看自己路径
print (rdd_data.take(10))
注意:以上只是代码层面,但是运行会有问题,因为spark读取s3文件,
必须要有aws涉及到的两个依赖包:aws-java-sdk-1.7.4.jar,hadoop-aws-2.7.3.jar
当项目里有这两个包了后,提交spark采用如下就可以了:
spark-submit --jars aws-java-sdk-1.7.4.jar,hadoop-aws-2.7.3.jar --master local test_extract_model_spark.py
ps:我的是本地spark,服务器上的:(我的举例如下)============================================
初始化改为:spark = SparkSession.builder.master('your-spark服务器-url').appName("hxy_test_script").getOrCreate()
提交改为:spark-submit -jars aws-java-sdk-1.7.4.jar,hadoop-aws-2.7.3.jar --master spark://192.168.31.10:7077 --executor-memory 40G --total-executor-cores 20 test_extract_model_spark.py