我是第一次使用Python Pandas.我有csv格式的5分钟滞后流量数据:
...
2015-01-04 08:29:05,271238
2015-01-04 08:34:05,329285
2015-01-04 08:39:05,-1
2015-01-04 08:44:05,260260
2015-01-04 08:49:05,263711
...
Run Code Online (Sandbox Code Playgroud)
有几个问题:
我想获得一个固定的时间序列,所以每隔(完全)5分钟(并且没有丢失的价值)的条目.我已成功使用以下代码插入时间序列,以使用此代码逼近-1值:
ts = pd.TimeSeries(values, index=timestamps)
ts.interpolate(method='cubic', downcast='infer')
Run Code Online (Sandbox Code Playgroud)
我怎样才能插入和规范观测的频率?谢谢大家的帮助.
我开发了一个用于HDFS数据摄取的NiFi流程原型.现在我想提高整体表现,但似乎我无法真正前进.
流接收输入csv文件(每行有80个字段),在行级别拆分,对字段应用一些转换(使用顺序执行的4个自定义处理器),将新行缓冲到csv文件中,将它们输出到HDFS.我以这样的方式开发了处理器:当读取每个单独的记录并且将其字段移动到flowfile属性时,仅访问流文件的内容一次.测试已在亚马逊EC2 m4.4xlarge实例(16核CPU,64 GB RAM)上进行.
这是我到目前为止所尝试的:
从我执行的监控来看,它看起来像磁盘不是瓶颈(它们在很长一段时间内基本上处于空闲状态,显示计算实际上是在内存中执行)并且平均CPU负载低于60%.
我能得到的最多的是215K行/分钟,这是3,5k行/秒. 就数量而言,它仅为4,7 MB/s.我的目标是肯定比这更大的东西.就像比较一样,我创建了一个读取文件的流程,将其拆分为行,将它们合并为块并将数据合并到磁盘上.在这里,我得到12k行/秒,或17 MB/s.看起来也不会太快,让我觉得我可能做错了.有没有人有关于如何提高表现的建议?在集群上运行NiFi而不是随实例规范增长,我将从中受益多少?谢谢你们
我正在尝试使用NiFi使用HDF 1.2处理大型CSV文件(每个文件可能包含数十亿条记录)。我已经实现了流程,所有小文件都可以正常工作。
问题是,如果我尝试将文件大小推到100MB(1M个记录)java.lang.OutOfMemoryError: GC overhead limit exceeded,则会从SplitText处理器得到一个负责将文件拆分为单个记录的文件。我已经搜索过了,这基本上意味着垃圾收集器执行了太长时间而没有获得太多的堆空间。我希望这意味着生成太多的流文件太快。
我该如何解决?我尝试过更改有关最大堆空间和其他与内存相关的属性的nifi的配置,但似乎没有任何效果。
现在,我添加了一个行数为1K 的中间SplitText,这使我避免了该错误,但是对于传入的文件大小可能变得远远超过此数目的情况,我不认为这是一个可靠的解决方案我将从处理器获得相同的行为。
任何建议都欢迎!谢谢
java garbage-collection hortonworks-data-platform apache-nifi hortonworks-sandbox
Scylla 1.7应该引入实验计数器列支持,但默认情况下禁用该功能:尝试创建一个带有计数器列的表我得到:
cassandra.InvalidRequest: Error from server: code=2200 [Invalid query] message="Counter support is not enabled"
Run Code Online (Sandbox Code Playgroud)
我该如何启用它?
谢谢
apache-nifi ×2
java ×1
pandas ×1
performance ×1
python ×1
regularized ×1
scylla ×1
time-series ×1