我们正在使用Intellij(在本地计算机上)通过Spark / scala从AWS(配置单元)读取日期/表。我们可以看到表格的架构。但无法读取数据。
请找到以下流程以便更好地理解
的Intellij(火花/阶)------>配置单元:9083(远程)------> S3(ORC)
注意:此处Intellij存在于AWS上的本地和配置单元以及S3
请在下面找到相同的代码:
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
//import org.apache.spark.sql.hive.HiveContext
object hiveconnect {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.appName("SparkHiveExample")
.config("hive.metastore.uris", "thrift://10.20.30.40:9083")
.master("local[*]")
.config("spark.sql.warehouse.dir", "s3://abc/test/main")
.config("spark.driver.allowMultipleContexts", "true")
.config("access-key","key")
.config("secret-key","key")
.enableHiveSupport()
.getOrCreate()
println("Start of SQL Session--------------------")
spark.sql("show databases").show()
spark.sql("select *from ace.visit limit 5").show()
}
}
错误:线程“main”中的异常java.lang.IllegalArgumentException:必须将AWS Access Key ID和Secret Access Key指定为s3 URL的用户名或密码,或者通过设置fs.s3.awsAccessKeyId或者fs.s3.awsSecretAccessKey属性(分别)。