小编dre*_*mer的帖子

在Airflow GUI外部创建连接

我想在不交互Airflow GUI的情况下创建S3连接。是否可以通过airflow.cfg或命令行?

我们正在使用AWS角色,并且以下连接参数对我们有用:{“ aws_account_id”:“ xxxx”,“ role_arn”:“ yyyyy”}

因此,可以在GUI上为S3手动创建连接正在工作,现在我们要使该过程自动化,并希望将其添加为Airflow部署过程的一部分。有没有解决的办法?

amazon-web-services airflow airbnb-js-styleguide apache-airflow

7
推荐指数
2
解决办法
2258
查看次数

在操作员之外使用 Airflow 宏

有没有办法在任何运营商之外使用 Airflow 宏?

例如,在 DAG 中,我有一个操作:

datestamp = '{{ ds }}'

print(datestamp) # prints string not the date when I run it for any date

scanner = S3KeySensor(
        task_id='scanner',
        poke_interval=60,
        timeout=24 * 60 * 60,
        soft_fail=False,
        wildcard_match=True,
        bucket_key=getPath() + datestamp, #datestamp correctly replaced with execution date
        bucket_name=bucketName,
        dag=dag)
Run Code Online (Sandbox Code Playgroud)

因此,当调用扫描仪时,“ds”值被替换为预期的执行日期,但我想在其他一些地方使用“ds”值。但在这种情况下,它不会替换值,而是将整个字符串作为“{{ ds }}”。在上面的例子中。打印语句打印“{{ ds }}”而不是执行日期。

macros hadoop airflow

7
推荐指数
1
解决办法
3083
查看次数

Redshift的REST API

我目前正在集思广益,并试图弄清楚这是否可行或更好的方法来处理这种方法.

假设我有一个Redshift表,我想通过REST API公开这个表.例如,有几个客户需要此表中的某种元数据.他们将调用REST服务,它将在Redshift上执行以获取数据,并以JSON格式响应客户端.

我在Redshift/AWS领域相当新,所以不确定AWS是否已经有了这方面的东西?我知道S3支持REST API.

这听起来可行吗?我绝对可以使用Java编写典型的RESTful服务,同时使用JDBC从Redshift读取数据.但是想知道在AWS世界中是否有更好的方法来处理这个问题.

rest amazon-ec2 amazon-web-services restful-architecture amazon-redshift

5
推荐指数
1
解决办法
7223
查看次数

为S3提供基于Hadoop/Spark IAM角色的访问的正确方法是什么?

我们在EC2上运行Hadoop集群,并将EC2实例连接到可以访问S3存储桶的角色,例如:"stackoverflow-example".

有几个用户将Spark作业放在集群中,我们过去使用过键但不想继续并希望迁移到角色,因此放在Hadoop集群上的任何作业都将使用与ec2实例关联的角色.做了很多搜索并找到了10张以上的门票,其中一些仍然是开放的,其中一些是固定的,其中一些没有任何评论.

想知道是否仍然可以将IAM角色用于放置在Hadoop集群上的作业(Spark,Hive,HDFS,Oozie等).大多数教程都在讨论传递密钥(fs.s3a.access.key,fs.s3a.secret.key),这些密钥不够好,也不安全.我们还遇到了Ambari凭证提供商的问题.

一些参考:

https://issues.apache.org/jira/browse/HADOOP-13277

https://issues.apache.org/jira/browse/HADOOP-9384

https://issues.apache.org/jira/browse/SPARK-16363

hadoop amazon-s3 amazon-ec2 amazon-iam apache-spark

5
推荐指数
1
解决办法
1514
查看次数

用gzip格式的大文本文件的火花工作

我正在运行一个Spark工作,这个工作花了太长时间来处理输入文件.输入文件为Gzip格式的6.8 GB,包含110 M行文本.我知道它是Gzip格式的,因此它不可拆分,只有一个执行器将用于读取该文件.

作为调试过程的一部分,我决定只看看将gzip文件转换为镶木地板需要多长时间.我的想法是,一旦我转换为镶木地板文件,然后如果我在该文件上运行我原来的Spark作业,那么它将使用多个执行程序并且输入文件将被并行处理.

但即使是小工作也需要很长时间.这是我的代码:

val input = sqlContext.read.text("input.gz")
input.write.parquet("s3n://temp-output/")
Run Code Online (Sandbox Code Playgroud)

当我在笔记本电脑(16 GB RAM)中提取该文件时,花了不到2分钟.当我在Spark集群上运行它时,我的期望是它将花费相同甚至更少的时间,因为我使用的执行程序内存是58 GB.花了大约20分钟.

我在这里错过了什么?我很抱歉,如果这听起来很业余,但我在Spark中相当新.

在gzip文件上运行Spark作业的最佳方法是什么?假设我没有选择以其他文件格式创建该文件(bzip2,snappy,lzo).

hadoop amazon-s3 apache-spark parquet spark-dataframe

3
推荐指数
1
解决办法
1563
查看次数

在Amazon EC2中启动实例时传递脚本

在我启动实例时是否可以传递脚本?这样实例一旦初始化就会执行该脚本?

public static void startInstance(final String instanceId) {
    StartInstancesRequest startRequest = new StartInstancesRequest().withInstanceIds(instanceId);
    logger.info(String.format("Starting instance '%s':...", instanceId));
    ec2.startInstances(startRequest);       
}
Run Code Online (Sandbox Code Playgroud)

任何的想法?脚本将是一种启动脚本,我需要在实例准备好后立即执行.提前致谢.

cloud shell amazon-ec2 amazon-web-services

2
推荐指数
1
解决办法
1929
查看次数

无法为任务尝试释放 NNN 的容器

我试图了解容器如何根据不同的硬件配置在 YARN 中分配内存及其性能。

所以,这台机器有 30 GB 的 RAM,我为 YARN 选择了 24 GB,为系统保留了 6 GB。

yarn.nodemanager.resource.memory-mb=24576
Run Code Online (Sandbox Code Playgroud)

然后我按照http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.6.0/bk_installing_manually_book/content/rpm-chap1-11.html提出了一些用于 Map & Reduce 任务内存的值。

我将这两个保留为默认值:

mapreduce.map.memory.mb
mapreduce.map.java.opts
Run Code Online (Sandbox Code Playgroud)

但我改变了这两个配置:

mapreduce.reduce.memory.mb=20480
mapreduce.reduce.java.opts=Xmx16384m
Run Code Online (Sandbox Code Playgroud)

但是,当我使用该设置放置工作时,出现错误并且该工作被强行杀死:

2015-03-10 17:18:18,019 ERROR [Thread-51] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Could not deallocate container for task attemptId attempt_1426006703004_0004_r_000000_0
Run Code Online (Sandbox Code Playgroud)

到目前为止对我有用的唯一值是设置 reducer memory <= 12 GB,但这是为什么呢?为什么我不能分配更多内存或最多(2 * RAM-per-container?

那么我在这里缺少什么?在设置这些值以获得更好的性能时,我还需要考虑什么吗?

memory hadoop mapreduce bigdata hadoop-yarn

2
推荐指数
1
解决办法
3413
查看次数

Sqoop用--schema参数导出到postgres

使用Sqoop将数据导出到postgresql时有没有办法提到不同的模式?基于URL http://sqoop.apache.org/docs/1.4.4/SqoopUserGuide.html,我需要使用"--schema"这很奇怪,它不起作用.我也尝试使用"--schema",但结果仍然相同."--schema"与list-tables命令一起使用,但不与"export"命令一起使用.任何帮助将受到高度赞赏.

postgresql hadoop export mapreduce sqoop

1
推荐指数
1
解决办法
5853
查看次数