小编gal*_*ine的帖子

AWS EMR上的Spark UI

我正在运行通过EMR控制台下拉列表安装Spark(1.3.1)的AWS EMR集群.Spark是当前和处理数据,但我试图找到已分配给WebUI的端口.我尝试过端口转发4040和8080没有连接.我这样转发

ssh -i ~/KEY.pem -L 8080:localhost:8080 hadoop@EMR_DNS
Run Code Online (Sandbox Code Playgroud)

1)如何找出Spark WebUI分配的端口是什么?2)如何验证Spark WebUI是否正在运行?

amazon-emr apache-spark

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

Matlab - 从[MxN]矩阵元素中快速减去[1xN]数组

可能重复:
如何从矩阵的每一行中减去一个向量?
如何将矩阵的每一行除以固定行?

我有M行和4列的矩阵(M1).我有另一个1行和4列的数组(M2).我想通过M2中各自的列元素减去M1中的每个元素.换句话说,M1的每列需要由M2中相同列位置的标量子跟踪.我可以调用repmat(M2,M,1),这会创建一个大小为MxN的新矩阵,其中列中的每个元素都是相同的,然后按元素减法执行元素:

M2new = repmat(M2,M,1)
final = M1 - M2new
Run Code Online (Sandbox Code Playgroud)

但是,这是两行代码并在内存中创建一个新元素.执行此操作的最快且内存最少的方法是什么?

memory matlab subtraction

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

如何从联合,离散,概率分布函数中进行数值抽样

我有一个2D"热图"或PDF,我需要通过随机抽样重新创建.IE我有一个显示起始位置的二维概率密度图.我需要以与原始PDF相同的概率随机选择起始位置.

要做到这一点,我想我需要首先找到联合CDF(累积密度函数),然后选择随机统一数字来对CDF进行采样.这就是我被卡住的地方.

我如何在数字上找到我的PDF的联合CDF?我尝试沿两个维度进行累积求和,但这并没有产生正确的结果.我的统计知识让我失望.

编辑热图/ PDF是[x,y,z]的形式,其中Z是每个x,y点的强度或概率.

algorithm statistics probability random-sample

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

将 S3 存储桶中的新文件流式传输到 Kinesis

我正在尝试评估使用 Kinesis 进行流处理日志文件。有一个单独的进程将新日志上传到 S3 存储桶 - 我无法触及该进程。我想知道是否有一种好方法可以将 S3 日志存储桶中显示的新文件流式传输Kinesis 流中进行处理。到目前为止我找到的所有文档都涵盖了使用 S3 作为流的输出。

我当前的解决方案是让一台机器不断轮询 S3 是否有新文件,将新文件下载到本地机器并使用 Log4j 附加程序将其流式传输。这看起来效率很低。有没有更好的办法?

amazon-s3 amazon-web-services

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

根据S3目录名自动分区Hive表

我有数据存储在S3中,如:

/bucket/date=20140701/file1
/bucket/date=20140701/file2
...
/bucket/date=20140701/fileN

/bucket/date=20140702/file1
/bucket/date=20140702/file2
...
/bucket/date=20140702/fileN
...
Run Code Online (Sandbox Code Playgroud)

我的理解是,如果我通过Hive引入该数据,它将自动解释date为分区.我的表创建如下:

CREATE EXTERNAL TABLE search_input(
   col 1 STRING,
   col 2 STRING,
   ...

)
PARTITIONED BY(date STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
LOCATION 's3n://bucket/';
Run Code Online (Sandbox Code Playgroud)

但是,Hive无法识别任何数据.我运行的任何查询返回0结果.如果我只是通过以下方式获取其中一个日期:

CREATE EXTERNAL TABLE search_input_20140701(
   col 1 STRING,
   col 2 STRING,
   ...

)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
LOCATION 's3n://bucket/date=20140701';
Run Code Online (Sandbox Code Playgroud)

我可以很好地查询数据.

为什么Hive不能识别带有"date = date_str"分区的嵌套目录?有没有更好的方法让Hive在多个子目录上运行查询并根据日期时间字符串对其进行切片?

hive amazon-s3

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

如何保留 Spark HashingTF() 函数的输入键或索引?

基于 1.4 ( https://spark.apache.org/docs/1.4.0/mllib-feature-extraction.html )的 Spark 文档,我正在编写一个 TF-IDF 示例,用于将文本文档转换为值向量。给出的示例显示了如何做到这一点,但输入是没有 key的令牌 RDD 。这意味着我的输出 RDD 不再包含索引或键来引用原始文档。这个例子是这样的:

documents = sc.textFile("...").map(lambda line: line.split(" "))

hashingTF = HashingTF()
tf = hashingTF.transform(documents)
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

documents = sc.textFile("...").map(lambda line: (UNIQUE_LINE_KEY, line.split(" ")))

hashingTF = HashingTF()
tf = hashingTF.transform(documents)
Run Code Online (Sandbox Code Playgroud)

并让结果tf变量在UNIQUE_LINE_KEY某处包含该值。我只是错过了一些明显的东西吗?从示例来看,似乎没有什么好的方法可以将documentRDD 与tfRDD 联系起来。

tf-idf apache-spark apache-spark-mllib

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

触发Dask Worker释放内存

我正在使用 Dask 分配一些函数的计算。我的总体布局如下所示:


    from dask.distributed import Client, LocalCluster, as_completed

    cluster = LocalCluster(processes=config.use_dask_local_processes,
                           n_workers=1,
                           threads_per_worker=1,
                           )
    client = Client(cluster)
    cluster.scale(config.dask_local_worker_instances)

    work_futures = []

    # For each group do work
    for group in groups:
        fcast_futures.append(client.submit(_work, group))

    # Wait till the work is done
    for done_work in as_completed(fcast_futures, with_results=False):
        try:
            result = done_work.result()
        except Exception as error:
            log.exception(error)

Run Code Online (Sandbox Code Playgroud)

我的问题是,对于大量工作,我往往会达到内存限制。我看到很多:

distributed.worker - WARNING - Memory use is high but worker has no data to store to disk.  Perhaps some other process is leaking memory? …
Run Code Online (Sandbox Code Playgroud)

dask dask-distributed

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

Hadoop YARN:如何强制将节点标记为“LOST”而不是“SHUTDOWN”?

我正在对节点丢失时发生的 YARN 应用程序故障进行故障排除,因此我正在尝试重新创建此场景。但我只能强制节点关闭而不是丢失。我正在使用 AWS EMR,并且尝试过:

  • 登录节点并执行 shutdown -h now
  • 登录节点并执行sudo stop hadoop-yarn-nodemanagersudo stop hadoop-hdfs-datanode
  • 用一个杀死 NodeManager kill -9 <pid>

那些导致 SHUTDOWN 节点但不是 LOST 节点。

如何在 AWS EMR 中创建 LOST 节点?

hadoop amazon-emr hadoop-yarn

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

Spark对HashingTF使用什么散列函数以及如何复制它?

Spark MLLIb具有HashingTF()函数,该函数根据每个术语的散列值计算文档术语频率.

1)它用什么函数来进行散列?

2)如何从Python获得相同的散列值?

3)如果我想计算给定单个输入的散列输出,而不计算术语频率,我该怎么做?

python hash apache-spark pyspark apache-spark-mllib

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