我正在对AWS Glue与AWS EMR进行一些定价比较,以便在EMR和Glue之间进行选择.
我考虑了6个DPU(4个vCPU + 16 GB内存),ETL作业运行10分钟,持续30天.假设爬行器请求假定为高于免费等级100万,并且对于100万个额外请求计算为1美元.
在EMR上,我考虑了m3.xlarge的EC2和EMR(定价分别为0.266美元和0.070美元),有6个节点,运行10分钟30天.
在计算一个月时,我发现AWS Glue的价格约为14.64美元,而对于EMR,它的价格约为10.08美元.我没有考虑其他额外费用,如S3,RDS,Redshift等.&DEV Endpoint是可选的,因为我的目标是比较ETL工作价格的好处
与AWS Glue相比,EMR看起来更便宜.EMR定价是否正确,如果有任何遗漏,有人可以建议吗?我已经尝试过针对EMR的AWS价格计算器,但很困惑,并且不清楚是否将标准化小时计入其中.
问候
青年组织
已搜索 AWS Glue 文档,但找不到 AWS Glue 工作线程类型 G.1X 和 G.2X 的定价详细信息。有人可以解释一下标准、G.1X 和 G.2X 之间是否没有成本差异吗?
我所能看到的 Glue 定价部分是“您需要按每 DPU 小时 0.44 美元计费,增量为 1 秒,四舍五入到最接近的秒。使用 Glue 版本 2.0 的 Glue Spark 作业的最短计费持续时间为 1 分钟。 ”。这与工人类型无关吗?
标准类型 - 16 GB 内存、4 个 vCPU 计算能力和 50 GB 附加 EBS 存储(2 个执行程序)
G.1X - 16 GB 内存、4 个 vCPU 和 64 GB 附加 EBS 存储(1 个执行程序)
G.2X - G.1X 的两倍 ( https://aws.amazon.com/blogs/big-data/best-practices-to-scale-apache-spark-jobs-and-partition-data-with-aws -glue/ ) 这意味着,
G.2X - 32 GB 内存、8vCPU、128 GB EBS !!
感谢对此的任何投入。 …
amazon-web-services aws-glue aws-glue-data-catalog aws-glue-spark
我正在运行 AWS Glue 作业,使用 Glue 自动生成的 PySpark 脚本将 S3 上的管道分隔文件加载到 RDS Postgres 实例中。
最初,它抱怨某些列中存在 NULL 值:
pyspark.sql.utils.IllegalArgumentException: u"Can't get JDBC type for null"
Run Code Online (Sandbox Code Playgroud)
经过一番谷歌搜索和阅读后,我尝试通过将 AWS Glue 动态数据帧转换为 Spark 数据帧、执行函数fillna()并重新转换回动态数据帧来替换文件中的 NULL。
datasource0 = glueContext.create_dynamic_frame.from_catalog(database =
"xyz_catalog", table_name = "xyz_staging_files", transformation_ctx =
"datasource0")
custom_df = datasource0.toDF()
custom_df2 = custom_df.fillna(-1)
custom_df3 = custom_df2.fromDF()
applymapping1 = ApplyMapping.apply(frame = custom_df3, mappings = [("id",
"string", "id", "int"),........more code
Run Code Online (Sandbox Code Playgroud)
参考:
http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrame.fillna
现在,当我运行我的作业时,它会抛出以下错误:
Log Contents:
Traceback (most recent call last): …Run Code Online (Sandbox Code Playgroud) Masters只是一个简单的问题,因为作为一种ETL工具,AWS Glue可以为公司带来好处,例如,服务器维护最少或无需维护,通过避免过度配置或资源不足而节省成本,除了运行spark之外,我在寻求澄清,如果AWS Glue可以代替EMR?
如果两者可以共存,那么EMR如何与AWS Glue一起发挥作用?
感谢和问候
尤瓦
您能帮我使用 Glue 数据爬虫读取 tar.gz 文件吗?我有一个 tar.gz 文件,其中包含 S3 中不同架构的几个文件,当我尝试运行爬网程序时,我在数据目录中看不到该架构。我们应该使用自定义分类器吗?AWS Glue 常见问题解答指定使用分类器支持 gzip,但未在 Glue 分类器部分提供的分类器列表中列出。
我一直在为客户设置数据湖,其中我们将数据从本地或任何其他来源加载到 S3(数据湖)中。我们将根据这些原始数据创建一个 AWS Glue 目录来创建架构。
下一步是使用 EMR 或 AWS Glue 进行一些数据清理,将转换后的数据加载到 RDS / REDSHIFT / S3 作为最终目标。
可以使用数据管道、Glue 作业或 AWS Lambda 事件触发器来计划作业,具体取决于所使用的用例/服务。
将使用 IAM 服务为分析师和其他用户提供所需的数据/S3 存储桶访问权限,以进行 Quicksight 可视化或使用 Athena、Drill 等进行数据查询,或将数据用于 Sagemaker 中的 ML 应用程序。
我的问题是 AWS Lake Formation 与上述传统数据湖有何不同?
我可以定义AWS Lake Formation提供的所有上述服务(例如S3、Glue Catalog、Glue中的ETL代码生成器、作业调度程序等)都可以在单个窗口中使用吗?为用户/数据(记录/列级别)提供一些更高级的安全性,可以在 Lake Formation 控制台中进行配置。
还有什么能让湖的形成从传统的基于云的数据湖中脱颖而出吗?
谢谢
是否可以向 databricks 作业提交/配置 Spark python 脚本 (.py) 文件?
我在 Pycharm IDE 中进行开发,然后将代码推送/提交到我们的 gitlab 存储库。我的要求是当 python 脚本移动到 GitLab 主分支时,我需要在 databricks 集群中创建新作业。
如果可以使用 gitlab.yml 脚本在 python 脚本上创建 databricks 作业,我想得到一些建议?
在databricks Job UI中,我可以看到可以使用的spark jar或笔记本,但想知道我们是否可以提供一个python文件。
谢谢,
尤瓦
我在 S3 存储桶中有一个压缩的 gzip 文件。客户端每天都会将文件上传到 S3 存储桶。解压缩后的 gzip 将包含 10 个 CSV 格式的文件,但仅具有相同的架构。我需要解压缩 gzip 文件,并使用 Glue->Data crawler,需要在使用 dev 运行 ETL 脚本之前创建一个模式。端点。
胶水能够解压缩 zip 文件并创建数据目录。或者我们可以直接在python ETL脚本中使用的任何可用的胶水库?或者我应该选择 Lambda/任何其他实用程序,以便在上传 zip 文件后立即运行一个实用程序来解压缩并作为输入提供给 Glue?
感谢任何答复。
AWS Glue - 开发人员终端节点的空闲时间是否有任何定价费用?比如说,我配置了一个开发人员端点,并且每天运行一个作业 30 分钟。定价是仅针对每天 30 分钟的持续时间还是包括 AWS Glue - 开发人员终端节点的空闲时间。
谢谢
尤瓦
我在 DEV 分支中运行了以下 gitlab-ci.yml 文件,目标也为 DEV。由于我无法将 TARGET 指向 MASTER,因此不会创建自动 MR。我想知道是否可以在 gitlab-ci 脚本本身中创建合并请求。
dev:
stage: deploy
script:
- url_host=`git remote get-url origin | sed -e "s/https:\/\/gitlab-ci-token:.*@//g"`
- git remote set-url origin "https://gitlab-ci-token:${CI_TAG_UPLOAD_TOKEN}@${url_host}"
- databricks workspace export_dir -o /mynotebooks.
- git add .
- git commit -m 'Add notebooks to Repo' -a || true
- git push origin HEAD:dev
tags:
- test
Run Code Online (Sandbox Code Playgroud)
我搜索并引用了我的网站,但看不到任何有关以编程方式创建合并请求的说明。
这个想法是各种开发人员正在开发一个 databrick 集群,并且 gitlab 计划定期运行。更改将被推送到 DEV 分支,并将使用合并请求推送到 MASTER 分支。
我想知道这个 MR 创建是否可以自动化。请新到 GITLAB。
谢谢。
我有 2 个数据框,需要根据列(员工代码)合并它们。请注意,数据框大约有 75 列,因此我提供了一个示例数据集来获取一些建议/示例解决方案。我正在使用 databricks,数据集是从 S3 读取的。
以下是我的 2 个数据框:
DATAFRAME - 1
|-----------------------------------------------------------------------------------|
|EMP_CODE |COLUMN1|COLUMN2|COLUMN3|COLUMN4|COLUMN5|COLUMN6|COLUMN7|COLUMN8|COLUMN9|
|-----------------------------------------------------------------------------------|
|A10001 | B | | | | | | | | |
|-----------------------------------------------------------------------------------|
DATAFRAME - 2
|-----------------------------------------------------------------------------------|
|EMP_CODE |COLUMN1|COLUMN2|COLUMN3|COLUMN4|COLUMN5|COLUMN6|COLUMN7|COLUMN8|COLUMN9|
|-----------------------------------------------------------------------------------|
|A10001 | | | | | C | | | | |
|B10001 | | | | | | | | |T2 |
|A10001 | | | | | | | | B | |
|A10001 | | | C | | …Run Code Online (Sandbox Code Playgroud) aws-glue ×8
pyspark ×3
amazon-emr ×2
databricks ×2
gitlab ×2
gitlab-api ×2
apache-spark ×1
etl ×1
git ×1
gitlab-ci ×1
python ×1