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
Amazon s3 使用spark解释器从齐柏林飞艇连接S3_Amazon S3_Amazon Ec2_Apache Spark_Apache Zeppelin - Fatal编程技术网

Amazon s3 使用spark解释器从齐柏林飞艇连接S3

Amazon s3 使用spark解释器从齐柏林飞艇连接S3,amazon-s3,amazon-ec2,apache-spark,apache-zeppelin,Amazon S3,Amazon Ec2,Apache Spark,Apache Zeppelin,我试图用Spark和齐柏林飞艇做一些基本的分析 我已经使用中的步骤设置了spark cluster 此外,我还使用本文介绍的步骤在EC2中设置了齐柏林飞艇 我已经用齐柏林飞艇笔记本中的以下代码添加了我想要使用的库 %dep z.reset() // Add spark-csv package z.load("com.databricks:spark-csv_2.10:1.2.0") // Add jars required for s3 access z.load("org.apache.h

我试图用Spark和齐柏林飞艇做一些基本的分析

我已经使用中的步骤设置了spark cluster 此外,我还使用本文介绍的步骤在EC2中设置了齐柏林飞艇

我已经用齐柏林飞艇笔记本中的以下代码添加了我想要使用的库

%dep
z.reset()

// Add spark-csv package
z.load("com.databricks:spark-csv_2.10:1.2.0")

// Add jars required for s3 access
z.load("org.apache.hadoop:hadoop-aws:2.6.0")
下面的代码是从S3读取CSV文件

sc.hadoopConfiguration.set("fs.s3n.impl","org.apache.hadoop.fs.s3native.NativeS3FileSystem")
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId","XXX")
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey","XXX")

val path = "s3n://XXX/XXX.csv"
val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load(path)
我得到下面的例外

java.lang.VerifyError: Bad type on operand stack Exception Details: 
Location: org/apache/hadoop/fs/s3native/Jets3tNativeFileSystemStore.initialize(Ljava/net/URI;Lorg/apache/hadoop/conf/Configuration;)V @38: invokespecial 
Reason: Type 'org/jets3t/service/security/AWSCredentials' (current frame, stack[3]) is not assignable to 'org/jets3t/service/security/ProviderCredentials' 

Current Frame: bci: @38 flags: { } 
locals: { 'org/apache/hadoop/fs/s3native/Jets3tNativeFileSystemStore', 'java/net/URI', 'org/apache/hadoop/conf/Configuration', 'org/apache/hadoop/fs/s3/S3Credentials', 'org/jets3t/service/security/AWSCredentials' } 

stack: { 'org/apache/hadoop/fs/s3native/Jets3tNativeFileSystemStore', uninitialized 32, uninitialized 32, 'org/jets3t/service/security/AWSCredentials' } 
Bytecode: 
0000000: bb00 0259 b700 034e 2d2b 2cb6 0004 bb00 0000010: 0559 2db6 0006 2db6 0007 b700 083a 042a 0000020: bb00 0959 1904 b700 0ab5 000b a700 0b3a 0000030: 042a 1904 b700 0d2a 2c12 0e03 b600 0fb5 0000040: 0010 2a2c 1211 1400 12b6 0014 1400 15b8 0000050: 0017 b500 182a 2c12 1914 0015 b600 1414 0000060: 0015 b800 17b5 001a 2a2c 121b b600 1cb5 0000070: 001d 2abb 001e 592b b600 1fb7 0020 b500 0000080: 21b1 
Exception Handler Table: bci [14, 44] => handler: 47 
Stackmap Table: full_frame(@47,{Object[#191],Object[#192],Object[#193],Object[#194]},{Object[#195]}) same_frame(@55) 
at org.apache.hadoop.fs.s3native.NativeS3FileSystem.createDefaultStore(NativeS3FileSystem.java:334) 
at org.apache.hadoop.fs.s3native.NativeS3FileSystem.initialize(NativeS3FileSystem.java:324) 
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2596) 
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
我已经调查过了 如回答中所述,我已更改了安全设置,并能够与Spark连接<代码>sc.version打印
1.4.0

我也调查过。在回答中,它是说使用本地火花,我不想这样做。我想使用EC2实例中的spark群集


我在这里错过了哪一步?

由于zeppelin内部编译的版本与运行时集群上可用的版本之间的hadoop版本不匹配而发生错误

您应该检查齐柏林飞艇是否有标记,以指示集群的正确版本


或者您可以尝试设置HADOOP_HOMEenv var指向适当的安装。

我使用命令mvn install-DskipTests-Dspark使用HADOOP 2.6.0构建了它。version=1.4.0-Dhadoop.version=2.6.0并且我正在使用本地Spark。我还尝试使用Spark version将Spark HOME设置为外部Spark实例1.4和hadoop版本2.6.0。还是有同样的问题吗