Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 使用Sqoop导出从基于S3的表到MySQL的Sqoop导出失败_Hadoop_Amazon S3_Hive_Sqoop_Amazon Emr - Fatal编程技术网

Hadoop 使用Sqoop导出从基于S3的表到MySQL的Sqoop导出失败

Hadoop 使用Sqoop导出从基于S3的表到MySQL的Sqoop导出失败,hadoop,amazon-s3,hive,sqoop,amazon-emr,Hadoop,Amazon S3,Hive,Sqoop,Amazon Emr,我有一个基于s3的表 CREATE TABLE IF NOT EXISTS sales_by_location ( client_id STRING, client_name STRING, merchant_id STRING, merchant_name STRING, location_id STRING, location_name STRING, sales_date DATE, sales_hour

我有一个基于s3的表

CREATE TABLE IF NOT EXISTS sales_by_location (
    client_id STRING,
    client_name STRING,
    merchant_id STRING,     
    merchant_name STRING,
    location_id STRING,     
    location_name STRING,
    sales_date DATE,
    sales_hour INT,
    sales_hour_half INT,
    total_sales INT
)
CLUSTERED BY (client_id) INTO 32 BUCKETS 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' 
STORED AS ORC
LOCATION 's3://reports-test/sales_by_location/'
TBLPROPERTIES(
'transactional'='true',
'orc.compress'='SNAPPY');
我正在尝试使用SQOOP export命令将此表导出到MYSQL

下面是命令

sqoop export --connect $MYSQL_REPORTS_DATABASE_JDBC_URL --username $MYSQL_DB_USER --password $MYSQL_DB_PASSWORD 
--table sales_by_location --columns "clientId,clientName,merchantId,merchantName,locationId,locationName,salesDate,salesHour,salesHourHalf,totalSales" 
--update-key clientId,clientName,merchantId,merchantName,locationId,locationName,salesDate,salesHour,salesHourHalf 
--update-mode allowinsert --export-dir s3://reports-test/sales_by_location/ --input-fields-terminated-by ';' --batch 
但它给出了这个错误

20/09/16 12:40:58信息mapreduce.作业:正在运行作业:作业\u 1600180342842\u 0178 20/09/16 12:41:04信息mapreduce.作业:作业作业在uber模式下运行:false 20/09/16 12:41:04信息地图还原。作业:地图0%还原0% 20/09/16 12:41:08信息mapreduce.作业:任务Id:尝试\u 1600180342842\u 0178\u m\u000000\u 0,状态:失败 错误:java.io.IOException:'s3://reports test/sales_by_location/delta_0000247_0000247_0000'是一个目录 位于com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.open(S3NativeFileSystem.java:1208) 位于org.apache.hadoop.fs.FileSystem.open(FileSystem.java:773) 位于com.amazon.ws.emr.hadoop.fs.EmrFileSystem.open(EmrFileSystem.java:166) 位于org.apache.hadoop.mapreduce.lib.input.LineRecordReader.initialize(LineRecordReader.java:85) 位于org.apache.sqoop.mapreduce.CombineShimRecordReader.initialize(CombineShimRecordReader.java:76) 位于org.apache.sqoop.mapreduce.CombineFileRecordReader.initialize(CombineFileRecordReader.java:64) 位于org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:557) 位于org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:795) 位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:342) 位于org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) 位于java.security.AccessController.doPrivileged(本机方法) 位于javax.security.auth.Subject.doAs(Subject.java:422) 位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) 位于org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)


它说一些IO错误,但不清楚。一个简单的sqoop导出(不更新)是否有效?如果是,则sqoop进程正在工作,并且存在数据更新问题。你能检查一下键列吗?试试不同的组合。