'从错误的FS ..预期s3n://'从Spark 2.0写入Hive表时

时间:2016-09-30 01:47:38

标签: python apache-spark hive pyspark apache-spark-sql

我正在尝试使用Spark 2.0中的pyspark将数据插入到hive表中。这是我的代码 -

import pandas as pd
from pyspark.sql import SparkSession

spark = SparkSession\
    .builder\
    .enableHiveSupport()\
    .appName("sparkApp")\
    .getOrCreate()


spark._jsc.hadoopConfiguration().set('fs.defaultFS', 's3n')

data = pd.read_csv('s3n://some-path',sep = '\t',compression = 'gzip')
//some manipulation in data

data_sdf = spark.createDataFrame(data)
data_sdf.createOrReplaceTempView('data')

spark.sql(
'INSERT OVERWRITE TABLE schmea.my_table\     
PARTITION (col1,col2)\
select col1,col2,col3,col4 from data')

这导致异常 -

App > pyspark.sql.utils.IllegalArgumentException: 'Wrong FS: s3://bucket/a-path, expected: s3n://bucket'

我在EMR上使用Hive,而Hive表的数据文件实际上驻留在S3上。我该怎么做才能避免这种例外?

0 个答案:

没有答案