首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS胶与雅典娜

AWS胶与雅典娜
EN

Stack Overflow用户
提问于 2020-03-16 11:47:48
回答 2查看 1.1K关注 0票数 0

我们正处于将所有用scala编写的星火作业迁移到aws胶水的阶段。

当前流: Apache Hive -> Spark(处理/转换) -> Apache Hive -> BI

必需流程: AWS S3 (雅典娜) -> Aws Glue(火花Scala ->处理/转换) -> AWS S3 ->雅典娜-> BI

昨天我完成了这个任务,我正在做研发工作。我的问题是:

  1. 我们可以在apache胶水中运行相同的代码,因为它具有动态框架,可以转换成数据帧,但需要修改代码。
  2. 可以像我们在
  3. 胶水中使用spark读取aws雅典娜的数据。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-16 18:00:35

我能够运行我的当前代码与小的变化。我已经构建了sparkSession,并使用该会话来查询启用了胶水的目录表。我们需要在作业--enable-glue-datacatalog中添加这个参数

代码语言:javascript
复制
SparkSession.builder().appName("SPARK-DEVELOPMENT").getOrCreate()
var sqlContext = a.sqlContext
sqlContext.sql("use default")
sqlContext.sql("select * from testhive").show()
票数 0
EN

Stack Overflow用户

发布于 2020-04-24 04:43:53

Aws胶水扩展了Apache的功能。因此,您可以始终按原样使用代码。

唯一需要做的更改是更改会话变量的创建和所提供参数的解析。您甚至不需要创建动态框架就可以运行普通的旧式电火花代码。

代码语言:javascript
复制
def createSession():
    sc = SparkContext()
    glueContext = GlueContext(sc)
    spark = glueContext.spark_session
    job = Job(glueContext)
    return sc, glueContext, spark, job

#To handle the arguments
args = getResolvedOptions(sys.argv, ['JOB_NAME', 'arg1', 'arg2'])
arg1 = args['arg1'].split(',')
arg2 = args['arg2'].strip()

#To initialize the job
job.init(args['JOB_NAME'], args)
#your code here 
job.commit()

它还支持星星之火sql而不是胶水目录。

希望它能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60705430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档