csv - 通过 Apache-Spark 从 AWS S3 加载数据

标签 csv amazon-web-services amazon-s3 apache-spark loaddata

我编写了一个 python 代码来通过 Apache-Spark 从 Amazon Web Service (AWS) S3 加载文件。具体来说,代码使用 SparkContext().wholeTextFiles("s3n ://若凡桶/数据")。代码如下:

import os, sys, inspect

### Current directory path.
curr_dir = os.path.split(inspect.getfile(inspect.currentframe()))[0]

### Setup the environment variables
spark_home_dir = os.path.realpath(os.path.abspath(os.path.join(curr_dir, "../spark-1.4.0")))
python_dir = os.path.realpath(os.path.abspath(os.path.join(spark_home_dir, "./python")))
os.environ["SPARK_HOME"] = spark_home_dir
os.environ["PYTHONPATH"] = python_dir

### Setup pyspark directory path
pyspark_dir = os.path.realpath(os.path.abspath(os.path.join(spark_home_dir, "./python")))
sys.path.append(pyspark_dir)

### Import the pyspark
from pyspark import SparkConf, SparkContext

def main():
    ### Initialize the SparkConf and SparkContext
    conf = SparkConf().setAppName("ruofan").setMaster("local")
    sc = SparkContext(conf = conf)

    ### Create a RDD containing metadata about files in directory "data"
    datafile = sc.wholeTextFiles("s3n://ruofan-bucket/data")    ### Read data directory from S3 storage.

    ### Collect files from the RDD
    datafile.collect()


if __name__ == "__main__":
    main()

在我运行我的代码之前,我已经导出了环境变量:AWS_SECRET_ACCESS_KEYAWS_ACCESS_KEY_ID。但是当我运行我的代码时,它显示错误:

IOError: [Errno 2] No such file or directory: 's3n://ruofan-bucket/data/test1.csv'

我确定我在 AWS S3 上有目录和文件,但我不知道错误。如果有人帮助我解决问题,我真的很感激。

最佳答案

wholeTextFiles 似乎不适用于 Amazon S3。

参见:

但是,Hadoop 版本之间可能存在差异,因此请不要将其视为确定。

关于csv - 通过 Apache-Spark 从 AWS S3 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31575367/

相关文章:

PHP - 按列数组到 CSV

python - 使用 python 和 pandas 按季节分组数据

sql-server - 在使用 SSIS 加载到 SQL Server 数据库之前更改 CSV 中列的格式

amazon-web-services - 按计划关闭 AWS VM - 但如果有人登录,则会向用户发出警告

php - 如何使用 Amazon S3 创建一次性下载链接?

python - 如何将 CSV 文件读入 pandas 并获取一个单元格的值

amazon-web-services - AWS ALB 创建基于路径的路由 - 将子目录重定向到根目录

iphone - AWS S3 IOS sdk 中的困惑?

javascript - 如何在S3存储桶中存储图像?

amazon-s3 - Heroku S3 存储桶