小编fra*_*ijo的帖子

Kafka + AWS lambda

是否可以将AWS Lambda与Apache Kafka集成?我想把一个消费者放在一个lambda函数中.当消费者收到消息时,lambda函数执行.

amazon-web-services apache-kafka aws-lambda

14
推荐指数
5
解决办法
2万
查看次数

Jenkins管道:如何使用s3插件上传工件

我试图在成功构建后将工件上传到s3存储桶,但是我找不到任何可以在阶段/节点块中实现的工作示例.

任何想法(安装s3插件,jenkins v2.32)?

node {
  sh 'echo ""> 1.jar'
  archiveArtifacts artifacts: '1.jar', fingerprint: true
  // upload to s3 bucket ???
}    
Run Code Online (Sandbox Code Playgroud)

amazon-s3 jenkins jenkins-pipeline

13
推荐指数
3
解决办法
2万
查看次数

使用输入拆分(HADOOP)

我有一个.txt文件如下:


这是xyz

这是我的家

这是我的电脑

这是我的房间

这是ubuntu PC xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxxxxxxxxxxxxxxxxxxxxx


(忽略每条记录后的空白行)

我已将块大小设置为64字节.我要检查的是,是否存在单个记录被分成两个块的情况.

现在逻辑上,因为块大小是64字节,在将文件上传到HDFS之后,它应该分别创建3块大小为64,64,27字节的块.此外,由于第一个块的大小为64字节,因此它应仅包含以下数据:


这是xyz

这是我的家

这是我的电脑

这是我的房间


现在我想看看第一个块是否是这样,如果我通过浏览器浏览HDFS并下载文件,它会下载整个文件而不是单个块.

所以我决定运行一个map-reduce作业,它只显示记录值.(设置reducers=0和mapper输出为context.write(null,record_value),也改变默认分隔符"")

现在,在运行作业时,作业计数器显示3个拆分,这是显而易见的,但在检查输出目录完成后,它显示3个映射器输出文件,其中2个为空,第一个映射器输出文件具有所有内容文件原样.

谁能帮我这个?新版本的hadoop是否有可能自动处理不完整的记录?

hadoop mapreduce hadoop2

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

如何在没有 Spark 的情况下从 S3 读取 Parquet 文件?爪哇

目前,我正在使用 Apache ParquetReader 来读取本地 parquet 文件,它看起来像这样:

ParquetReader<GenericData.Record> reader = null;
    Path path = new Path("userdata1.parquet");
    try {
        reader = AvroParquetReader.<GenericData.Record>builder(path).withConf(new Configuration()).build();
        GenericData.Record record;
        while ((record = reader.read()) != null) {
            System.out.println(record);
Run Code Online (Sandbox Code Playgroud)

但是,我尝试通过 S3 访问镶木地板文件而不下载它。有没有办法直接用镶木地板阅读器解析输入流?

java hadoop amazon-s3 apache-spark parquet

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

Amazon Lambda - 别名特定的环境变量

我正在使用AWS Lambda并且可以使用Alias功能指向我们拥有的多个代码促销阶段(例如dev,qa,prod等).我已将别名设置为与stage相同的名称.大多数这些功能都是从S3或SNS触发的,每个阶段都有不同的实例.

如何设置基于别名的环境变量,以便该函数可以获取特定信息.基本功能(通常是dev)中的env vars设置被转移到所有不适用于部署的别名.

我知道如何在API网关中使用阶段变量,但目前的用途不是通过网关.

任何帮助将不胜感激,Thx

amazon-web-services aws-lambda

8
推荐指数
2
解决办法
2051
查看次数

无法安装时间模块

我试过pip install timesudo -H pip install time,但我不断收到错误:

找不到满足要求时间的版本(来自版本:)没有找到时间匹配的分布

我在PyCharm工作,但真正没有意义的是我可以在Python控制台中导入时间,但不能在我的实际代码中导入时间.

python python-2.7

6
推荐指数
2
解决办法
3万
查看次数

在集群模式下将 PySpark 应用程序提交到 YARN 上的 Spark

我正在尝试测试一个为我工作的团队构建的大数据平台。它在 YARN 上运行 Spark。

是否可以创建 PySpark 应用程序并将其提交到 YARN 集群上?

我能够成功提交示例 SparkPi jar 文件,它返回 YARN 标准输出日志中的输出。

这是我正在尝试测试的 PySpark 代码;

from pyspark import SparkConf
from pyspark import SparkContext

HDFS_MASTER = 'hadoop-master'

conf = SparkConf()
conf.setMaster('yarn')
conf.setAppName('spark-test')
sc = SparkContext(conf=conf)

distFile = sc.textFile('hdfs://{0}:9000/tmp/test/test.csv'.format(HDFS_MASTER))

nonempty_lines = distFile.filter(lambda x: len(x) > 0)
print ('Nonempty lines', nonempty_lines.count())
Run Code Online (Sandbox Code Playgroud)

我在 Spark 目录中的 CMD 中尝试的命令:

bin\spark-submit --master yarn --deploy-mode cluster --driver-memory 4g
executor-memory 2g --executor-cores 1 examples\sparktest2.py 10
Run Code Online (Sandbox Code Playgroud)

sparktest2.py我的脚本在我的 Spark 目录中的示例目录中调用。

日志(标准错误):

 application from cluster with 3 NodeManagers …
Run Code Online (Sandbox Code Playgroud)

python hadoop hadoop-yarn apache-spark pyspark

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

我将如何在 bash 中用多个分隔符分隔字符串

我将如何在 bash 中用多个字符分隔字符串。我想获取第一个 IP 地址。

inet addr:127.0.0.1  Mask:255.0.0.0
Run Code Online (Sandbox Code Playgroud)

我会这样做

echo "inet addr:127.0.0.1  Mask:255.0.0.0" | cut -d' ' -f2 | cut -d':' -f1 
Run Code Online (Sandbox Code Playgroud)

但我想将最后两个命令合并为一个命令。

我想得到

127.0.0.1

bash

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

如何在 aws cloudwatch events 上设置每个最后星期一的 cron?

我想将 cron 设置为我的 lambda 函数。我希望每个月最后一个星期一上午 10:00 触发。

cron(* * * * [something special words here] *)

I wish next fire schedule will like this.

2020-04-27 10:00:00 JST
2020-05-25 10:00:00 JST
2020-06-29 10:00:00 JST
2020-07-27 10:00:00 JST
2020-08-31 10:00:00 JST
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

cron amazon-web-services amazon-cloudwatch aws-lambda

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

Amazon S3 boto3如何迭代存储桶中的对象?

在 Flask 应用程序中,我尝试迭代 S3 存储桶中的对象并尝试打印密钥/文件名,但my_bucket.objects.all()仅返回存储桶中的第一个对象。它没有返回所有对象。输出是[001.pdf]而不是[001, 002, 003, 004, 005]

from flask import Flask, jsonify, Response, request
from flask_cors import CORS, cross_origin
from config import S3_BUCKET, S3_ACCESS_KEY, S3_SECRET_ACCESS_KEY

import boto3
import csv
import re


s3 = boto3.client(
    's3',
    aws_access_key_id=S3_ACCESS_KEY,
    aws_secret_access_key=S3_SECRET_ACCESS_KEY
)

app = Flask(__name__)
CORS(app, supports_credentials=True)


@app.route('/')
def health():
    return jsonify({"message": "app is working"})


@app.route('/files')
def list_of_files():
    s3_resource = boto3.resource('s3')
    my_bucket = s3_resource.Bucket(S3_BUCKET)
    summaries = my_bucket.objects.all()
    files = []
    for file in summaries:
        # this prints …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 amazon-web-services flask boto3

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