小编Mar*_*rko的帖子

如何不绘制缺失的经期

我正在尝试绘制时间序列数据,其中在某些时期没有数据。数据被加载到数据框中,我使用 绘制它df.plot()。问题在于,绘制时缺失的时期会被连接起来,给人一种该时期存在价值的印象,但实际上并不存在。

这是问题的一个例子

问题

9 月 1 日至 9 月 8 日以及 9 月 9 日至 9 月 25 日期间没有数据,但绘制数据的方式看起来似乎该时期有值。

我希望在该时期内显示零值,或者根本没有值。怎么做?

需要明确的是,我没有 [Sep 01、Sep 08]、[Sep 09、Sep 29] 期间的 NaN 值,但根本没有数据(甚至在时间索引中也没有)。

python plot time-series nan pandas

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

分层和管道和过滤器

我有点困惑在哪些情况下应该使用这些模式,因为在某种意义上,它们看起来与我相似?

我知道分层是在系统复杂时使用的,并且可以按其层次划分,因此每个层在不同层次的层次上都有一个功能,并使用较低层次的功能,同时将其功能暴露给更高层次.水平.

另一方面,管道和过滤器基于处理数据的独立组件,并且可以通过管道连接,因此它们构成了执行完整算法的整体.

但是,如果层次结构不存在,那么如果可以更改模块的顺序,那么这一切都会受到质疑吗?

一个令我困惑的例子是编译器.这是管道和过滤器架构的一个例子,但是如果我没有错的话,某些模块的顺序是相关的?

澄清事情的一些例子会很好,以消除我的困惑.提前致谢...

architectural-patterns

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

Oozie工作陷入PREP状态的START行动

我有一个Oozie工作,我从java客户端开始,它停留在START操作,它说它正在运行,但START节点处于PREP状态.

为什么这样以及如何解决问题?

Oozie工作流只包含一个java动作.群集上的Hadoop版本是2.4.0,集群上的Oozie是4.0.0.

这是workflow.xml

<workflow-app xmlns='uri:oozie:workflow:0.2' name='java-filecopy-wf'>
<start to='java1'/>
    <action name='java1'>
    <java>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <configuration>
            <property>
                <name>mapred.job.queue.name</name>
                <value>default</value>
            </property>
        </configuration>           
        <main-class>testingoozieclient.Client</main-class>
        <capture-output/>
    </java>
    <ok to="end" />
    <error to="fail" />
</action>
<kill name="fail">
    <message>Java failed, error message[${wf:errorMessage(wf:lastErrorNode())}]
        </message>
</kill>
<end name='end' />
Run Code Online (Sandbox Code Playgroud)

这是java客户端

    OozieClient oozieClient = new OozieClient(args[0]);

    Properties conf = oozieClient.createConfiguration();
    conf.setProperty(OozieClient.APP_PATH, args[1]);

    conf.setProperty("nameNode", args[2]);
    conf.setProperty("jobTracker", args[3]);

    String jobId = null;

    try{
        jobId = oozieClient.run(conf);
    }
    catch(OozieClientException ex){
        Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);

    }
Run Code Online (Sandbox Code Playgroud)

由于我尝试了几次,现在有5,6个工作流都以RUNNING作为状态,但是当我通过Web界面查看时,我可以看到所有这些都停留在PREP状态的START节点上?


在一些提交的工作流程被杀后,我能够启动另一个工作流程.这次工作流从开始到java动作,但以类似的方式陷入java动作 - 它保持在PREP状态.

这是日志的样子

2015-06-22 17:54:37,366  INFO …
Run Code Online (Sandbox Code Playgroud)

hadoop oozie

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

大型分类文档语料库

任何人都可以指出我用于分类的一些大型语料库吗?

但总的来说,我不是指路透社或 20 个新闻组,我指的是 GB 大小的语料库,而不是 20MB 或类似的东西。

我只能找到这个路透社和 20 个新闻组,这对于我需要的东西来说非常小。

classification corpus dataset text-classification

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

如果最多处理一次,请使用BaseRichBolt或BaseBasicBolt

我是Storm的新手,我想知道我应该使用BaseRichBolt还是BaseBasicBolt最多处理一次对我有好处?

据我了解,在BaseBasicBolt元组被自动锚定和确认的情况下,以及在BaseRichBolt我们必须自己做的情况下。这是否意味着BaseRichBolt如果我最多要进行一次处理,就应该使用?

我的逻辑是锚定和确认会不必要地使事情变慢,对吗?

apache-storm

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

KafkaSpout为log4j抛出NoClassDefFoundError

出于某种原因,当我尝试在Storm集群上运行拓扑时出现以下错误:

java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory
  at org.apache.log4j.Logger.getLogger(Logger.java:39)
  at kafka.utils.Logging$class.logger(Logging.scala:24)
  at kafka.consumer.SimpleConsumer.logger$lzycompute(SimpleConsumer.scala:30)
  at kafka.consumer.SimpleConsumer.logger(SimpleConsumer.scala:30)
  at kafka.utils.Logging$class.info(Logging.scala:67)
  at kafka.consumer.SimpleConsumer.info(SimpleConsumer.scala:30)
  at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:75)
  at kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:69)
  at kafka.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:128)
  at kafka.javaapi.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:79)
  at storm.kafka.KafkaUtils.getOffset(KafkaUtils.java:77)
  at storm.kafka.KafkaUtils.getOffset(KafkaUtils.java:67)
  at storm.kafka.PartitionManager.<init>(PartitionManager.java:83)
  at storm.kafka.ZkCoordinator.refresh(ZkCoordinator.java:98)
  at storm.kafka.ZkCoordinator.getMyManagedPartitions(ZkCoordinator.java:69)
  at storm.kafka.KafkaSpout.nextTuple(KafkaSpout.java:135)
  at backtype.storm.daemon.executor$fn__3373$fn__3388$fn__3417.invoke(executor.clj:565)
  at backtype.storm.util$async_loop$fn__464.invoke(util.clj:463) at clojure.lang.AFn.run(AFn.java:24)
  at java.lang.Thread.run(Thread.java:745)cg
Run Code Online (Sandbox Code Playgroud)

有什么问题以及如何解决?

以下是我包含的依赖项:

 <dependencies>
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>storm-core</artifactId>
        <version>0.9.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.10</artifactId>
        <version>0.8.2-beta</version>
    </dependency>
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>storm-kafka</artifactId>
        <version>0.9.5</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.11</version>
    </dependency>
    <dependency>
        <groupId>org.java-websocket</groupId>
        <artifactId>Java-WebSocket</artifactId>
        <version>1.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.twitter4j</groupId>
        <artifactId>twitter4j-core</artifactId>
        <version>[3.0,)</version> …
Run Code Online (Sandbox Code Playgroud)

apache-kafka apache-storm

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

Shuffle阶段持续时间太长Hadoop

我有一份MR工作,其中洗牌阶段持续时间太长.

起初我认为这是因为我从Mapper发出了大量数据(大约5GB).然后我通过添加一个Combiner修复了这个问题,从而向Reducer发送了更少的数据.在那个洗牌期间没有缩短,正如我想的那样.

我的下一个想法是通过在Mapper中结合来消除Combiner.我从这里得到了这个想法,它说数据需要序列化/反序列化才能使用Combiner.不幸的是,洗牌阶段仍然是一样的.

我唯一想到的可能是因为我使用的是单个Reducer.但这不应该是一个例子,因为我在使用Combiner或在Mapper中组合时不会发出大量数据.

以下是我的统计数据:

在此输入图像描述

以下是我的Hadoop(YARN)工作的所有计数器:

在此输入图像描述

我还要补充说,这是在一台4台机器的小集群上运行.每个都有8GB的RAM(2GB保留),虚拟核心数为12(保留2个).

在此输入图像描述

这些是虚拟机.起初他们都在一个单位,但后来我把他们分成两个单位2-2.所以他们最初共享硬盘,现在每个磁盘有两台机器.它们之间是一个千兆网络.

这里有更多的统计数据:

整个记忆被占用

在此输入图像描述

作业运行时CPU始终处于压力之下(图片显示连续两次运行相同作业的CPU)

在此输入图像描述

我的问题是 - 为什么洗牌时间如此之大以及如何解决?即使我已经大大减少了Mapper发出的数据量,我也不明白为什么没有加速?

hadoop

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

与跨度相关的图例

我想添加一个图例来解释图中每个跨度代表什么,但我很难找到如何做到这一点,因为我是 Python/matplotlib 的新手。

因此,我不需要一个图例来解释图形中的每条线,但我想使用不同颜色的跨度分割图形并解释每种颜色(跨度)的含义。

怎么做?

我用它来添加跨度,只是为了避免混淆:

ax.axvspan(10, 300, alpha=0.2, color='red')
Run Code Online (Sandbox Code Playgroud)

我添加一个例子以使事情更清楚。应该有一些其他文本和适当的颜色,而不是“男人”和“女人”。

具有传奇色彩

python matplotlib

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

Spark 大反序列化时间

我是 Spark 的新手,我似乎遇到了一些性能问题。我正在尝试计算 DataFrame 中不同参数之间的简单计算(我在 Spark 1.5.2 上使用 PySpark 来执行此操作),但问题是与实际计算相比,我的任务反序列化时间非常长。

以下是计算两对不同参数之间的计算时的屏幕截图。

时间 1

时间 2

为了计算相关性,我只是使用full_dataframe.stat.corr('param1', 'param2'). 数据集已先缓存,然后执行此计算。我实际上是在尝试计算所有参数之间的相关性并生成相关性图,因此我在循环中调用此行,在其中迭代不同的参数组合。缓存数据集大小为 5.2GB。

我在一台 4 集群机器 (YARN) 上运行这项工作,其中每台机器都有:

  • 10GB RAM(8GB 预留给 YARN)
  • 8 个内核(16 个虚拟内核,14 个为 YARN 保留)

我正在通过 Jupyter 使用 PySpark,并且我已经开始使用它:

pyspark --master yarn --driver-memory 2560m --num-executors 4 --executor-cores 4 --executor-memory 5G --conf spark.yarn.executor.memoryOverhead=2048

我尝试过使用不同数量的分区df.repartition(no_of_partitions),例如 16、32、128、256,但没有任何帮助。

此外,一段时间后,我的工作完全中断,我从 ui 中收到以下错误:

HTTP ERROR 500

Problem accessing /proxy/application_1485432889177_0016/stages/stage. Reason:

    Connection to http://192.168.84.27:4040 refused
Caused by:

org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.84.27:4040 refused
Run Code Online (Sandbox Code Playgroud)

当我查看 Jupyter 的输出时,我看到了以下异常:

17/01/29 17:06:06 ERROR …
Run Code Online (Sandbox Code Playgroud)

apache-spark pyspark

5
推荐指数
0
解决办法
653
查看次数

在 PCA 之前进行缩放

我正在使用来自 sckit-learn 的 PCA 并且我得到了一些我试图解释的结果,所以我遇到了问题 - 我应该在使用 PCA 之前减去平均值(或执行标准化),还是以某种方式嵌入到sklearn 实现?

此外,如果需要,我应该执行这两个中的哪一个,为什么需要这一步?

pca scikit-learn

4
推荐指数
2
解决办法
5489
查看次数

GDI 中位块传送如何工作?

我对位块传输在 gdi 中的工作原理感兴趣。我知道它会根据 dwROP 参数创建基于源位图和目标位图的结果位图,但我感兴趣的是如何实现的?我看到一些示例,其中它用于使用单色蒙版和 SetBkColor() 函数完成的蒙版,我真的很困惑 BkColor 与这些位图有何关系......而在另一个示例中,使用 SetTextColor() ,用于删除背景...这些 DC 属性(bkColor 和 textColor)如何相关?谢谢

c++ mfc gdi

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

异常检测 - 使用什么

使用什么系统进行异常检测?

我看到像 Mahout 这样的系统没有列出异常检测,而是列出了分类、聚类、推荐等问题......

任何建议以及教程和代码示例都会很棒,因为我以前没有这样做过。

machine-learning data-mining outliers

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

如何在GDI中播放元文件

我对如何在GDI中实际播放元文件感兴趣.首先,当创建元文件时,它实际上是否包含函数调用和参数值,因此可以绘制基元?我知道它用于矢量绘图,所以这是有道理的......其次,元文件是如何播放的?实际的元数据是否被绘制,然后它以某种方式BitBlitted到DC,或立即被吸引到DC?如果我,让我们说,使用FloodFill来填充图元文件中的内容,如果元中的对象与DC中绘制的对象相交,是否可以导出问题?每个示例,如果DC中的对象填充了FloodField中使用的颜色.谢谢.

c++ mfc gdi

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