'错误的fs从spark 2.0写入配置单元表时应为s3n://'

zphenhs4  于 2021-06-28  发布在  Hive
关注(0)|答案(0)|浏览(217)

我正试图在spark2.0中使用pyspark将数据插入配置单元表。这是我的密码-

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上。我应该怎么做才能避免这个例外?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题