我正在尝试绘制时间序列数据,其中在某些时期没有数据。数据被加载到数据框中,我使用 绘制它df.plot()。问题在于,绘制时缺失的时期会被连接起来,给人一种该时期存在价值的印象,但实际上并不存在。
这是问题的一个例子
9 月 1 日至 9 月 8 日以及 9 月 9 日至 9 月 25 日期间没有数据,但绘制数据的方式看起来似乎该时期有值。
我希望在该时期内显示零值,或者根本没有值。怎么做?
需要明确的是,我没有 [Sep 01、Sep 08]、[Sep 09、Sep 29] 期间的 NaN 值,但根本没有数据(甚至在时间索引中也没有)。
我有点困惑在哪些情况下应该使用这些模式,因为在某种意义上,它们看起来与我相似?
我知道分层是在系统复杂时使用的,并且可以按其层次划分,因此每个层在不同层次的层次上都有一个功能,并使用较低层次的功能,同时将其功能暴露给更高层次.水平.
另一方面,管道和过滤器基于处理数据的独立组件,并且可以通过管道连接,因此它们构成了执行完整算法的整体.
但是,如果层次结构不存在,那么如果可以更改模块的顺序,那么这一切都会受到质疑吗?
一个令我困惑的例子是编译器.这是管道和过滤器架构的一个例子,但是如果我没有错的话,某些模块的顺序是相关的?
澄清事情的一些例子会很好,以消除我的困惑.提前致谢...
我有一个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) 任何人都可以指出我用于分类的一些大型语料库吗?
但总的来说,我不是指路透社或 20 个新闻组,我指的是 GB 大小的语料库,而不是 20MB 或类似的东西。
我只能找到这个路透社和 20 个新闻组,这对于我需要的东西来说非常小。
我是Storm的新手,我想知道我应该使用BaseRichBolt还是BaseBasicBolt最多处理一次对我有好处?
据我了解,在BaseBasicBolt元组被自动锚定和确认的情况下,以及在BaseRichBolt我们必须自己做的情况下。这是否意味着BaseRichBolt如果我最多要进行一次处理,就应该使用?
我的逻辑是锚定和确认会不必要地使事情变慢,对吗?
出于某种原因,当我尝试在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) 我有一份MR工作,其中洗牌阶段持续时间太长.
起初我认为这是因为我从Mapper发出了大量数据(大约5GB).然后我通过添加一个Combiner修复了这个问题,从而向Reducer发送了更少的数据.在那个洗牌期间没有缩短,正如我想的那样.
我的下一个想法是通过在Mapper中结合来消除Combiner.我从这里得到了这个想法,它说数据需要序列化/反序列化才能使用Combiner.不幸的是,洗牌阶段仍然是一样的.
我唯一想到的可能是因为我使用的是单个Reducer.但这不应该是一个例子,因为我在使用Combiner或在Mapper中组合时不会发出大量数据.
以下是我的统计数据:
以下是我的Hadoop(YARN)工作的所有计数器:
我还要补充说,这是在一台4台机器的小集群上运行.每个都有8GB的RAM(2GB保留),虚拟核心数为12(保留2个).
这些是虚拟机.起初他们都在一个单位,但后来我把他们分成两个单位2-2.所以他们最初共享硬盘,现在每个磁盘有两台机器.它们之间是一个千兆网络.
这里有更多的统计数据:
整个记忆被占用
作业运行时CPU始终处于压力之下(图片显示连续两次运行相同作业的CPU)
我的问题是 - 为什么洗牌时间如此之大以及如何解决?即使我已经大大减少了Mapper发出的数据量,我也不明白为什么没有加速?
我想添加一个图例来解释图中每个跨度代表什么,但我很难找到如何做到这一点,因为我是 Python/matplotlib 的新手。
因此,我不需要一个图例来解释图形中的每条线,但我想使用不同颜色的跨度分割图形并解释每种颜色(跨度)的含义。
怎么做?
我用它来添加跨度,只是为了避免混淆:
ax.axvspan(10, 300, alpha=0.2, color='red')
Run Code Online (Sandbox Code Playgroud)
我添加一个例子以使事情更清楚。应该有一些其他文本和适当的颜色,而不是“男人”和“女人”。
我是 Spark 的新手,我似乎遇到了一些性能问题。我正在尝试计算 DataFrame 中不同参数之间的简单计算(我在 Spark 1.5.2 上使用 PySpark 来执行此操作),但问题是与实际计算相比,我的任务反序列化时间非常长。
以下是计算两对不同参数之间的计算时的屏幕截图。
为了计算相关性,我只是使用full_dataframe.stat.corr('param1', 'param2'). 数据集已先缓存,然后执行此计算。我实际上是在尝试计算所有参数之间的相关性并生成相关性图,因此我在循环中调用此行,在其中迭代不同的参数组合。缓存数据集大小为 5.2GB。
我在一台 4 集群机器 (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) 我正在使用来自 sckit-learn 的 PCA 并且我得到了一些我试图解释的结果,所以我遇到了问题 - 我应该在使用 PCA 之前减去平均值(或执行标准化),还是以某种方式嵌入到sklearn 实现?
此外,如果需要,我应该执行这两个中的哪一个,为什么需要这一步?
我对位块传输在 gdi 中的工作原理感兴趣。我知道它会根据 dwROP 参数创建基于源位图和目标位图的结果位图,但我感兴趣的是如何实现的?我看到一些示例,其中它用于使用单色蒙版和 SetBkColor() 函数完成的蒙版,我真的很困惑 BkColor 与这些位图有何关系......而在另一个示例中,使用 SetTextColor() ,用于删除背景...这些 DC 属性(bkColor 和 textColor)如何相关?谢谢
使用什么系统进行异常检测?
我看到像 Mahout 这样的系统没有列出异常检测,而是列出了分类、聚类、推荐等问题......
任何建议以及教程和代码示例都会很棒,因为我以前没有这样做过。
我对如何在GDI中实际播放元文件感兴趣.首先,当创建元文件时,它实际上是否包含函数调用和参数值,因此可以绘制基元?我知道它用于矢量绘图,所以这是有道理的......其次,元文件是如何播放的?实际的元数据是否被绘制,然后它以某种方式BitBlitted到DC,或立即被吸引到DC?如果我,让我们说,使用FloodFill来填充图元文件中的内容,如果元中的对象与DC中绘制的对象相交,是否可以导出问题?每个示例,如果DC中的对象填充了FloodField中使用的颜色.谢谢.
apache-storm ×2
c++ ×2
gdi ×2
hadoop ×2
mfc ×2
python ×2
apache-kafka ×1
apache-spark ×1
corpus ×1
data-mining ×1
dataset ×1
matplotlib ×1
nan ×1
oozie ×1
outliers ×1
pandas ×1
pca ×1
plot ×1
pyspark ×1
scikit-learn ×1
time-series ×1