精华内容
下载资源
问答
  • 数据存储加密传输加密I’m not going to string you along until the end, dear reader, and say “Didn’t achieve anything groundbreaking but thanks for reading ;)”. 亲爱的读者,我不会一直待到最后,然后...

    数据存储加密和传输加密

    I’m not going to string you along until the end, dear reader, and say “Didn’t achieve anything groundbreaking but thanks for reading ;)”.

    亲爱的读者,我不会一直待到最后,然后说: “没有取得任何开创性的成就,但感谢您阅读;)”。

    This network isn’t exactly a get-rich-quick scheme yet — when I make one, I probably won’t blog about it.

    这个网络还不是一个快速致富的计划-当我建立一个网络时,我可能不会写博客。

    It did, however, shed some interesting light on the 2018 Bitcoin crash. The car we’ve built runs, even if it often runs into walls and off cliffs. From here, it’s a question of tuning.

    但是,它确实为2018年比特币崩溃提供了一些有趣的启示。 我们制造的汽车可以行驶,即使它经常撞到墙壁和悬崖上也是如此。 从这里开始,这是一个调优问题。

    -

    Last week I went through a good example of Hierarchical Temporal Memory algorithms predicting power consumption based only on the date+time & previous consumption. It went pretty well, very low mean-squared-error. HTM tech, unsurprisingly, does best when there’s a temporal element to data — some cause and effect patterns to “remember”.

    上周,我看了一个很好的示例,该示例采用了分层时间记忆算法,该算法仅根据日期和时间以及先前的功耗来预测功耗。 它运行得很好,均方误差非常低。 毫不奇怪,HTM技术在存在数据临时元素(“记住”某些因果模式)的情况下效果最佳。

    So I wondered: “What’s some other hot topic with temporal data hanging around for any random lad to download?” Bitcoin.

    所以我想知道:“还有什么其他热门话题,其中有时间数据悬空供任何小伙子下载?” 比特币

    Now hold on, is this a surmountable challenge in the first place? Surely nobody can predict the stock market, otherwise everyone would be doing it.But then that begs the question: why is there an entire industry of people moving money around at the proper time, and how are they afloat — if not for some degree of prediction?

    现在坚持下去,这首先是一个可克服的挑战吗? 当然,没有人能预测股市,否则每个人都会做。但是,这引出了一个问题:为什么会有整个行业的人在适当的时候到处流动钱,他们如何生存-如果不是在某种程度上预测?

    I’m fairly certain that crypto prices, at least, can be “learned” to some degree, because:

    我相当确定,至少可以在某种程度上“学习”加密价格,因为:

    1. If anyone had a magic algorithm to reliably predict the prices, they’d keep it to themselves (or lease it out proprietarily)

      如果有人使用魔术算法来可靠地预测价格,他们会自行保留价格(或专有地出租)
    2. There’s a company that already does this

      有一家公司已经做到了

    Intelletic is an interesting real-world example. Their listed ‘cortical algorithms’ are based on HTM (neocortex) tech, and they list “Price Prediction Alerts” as a main product for investors to make use of.

    Intelletic是一个有趣的现实示例。 他们列出的“皮质算法”是基于HTM(新皮质 )技术的,他们将“价格预测警报”列为供投资者使用的主要产品。

    These are quite fascinating promises, and not too hard to believe, either. As we saw last week, HTM models learn & predict on the fly — no need to train 80/20 splits on historical data. In a landscape where high-frequency trading algorithms have started to compete with day traders, integrating near-present data is certainly a formidable advantage.

    这些都是令人着迷的承诺,也不是很难相信。 正如我们在上周看到的那样,HTM模型可以实时进行学习和预测-无需根据历史数据训练80/20分割。 在高频交易算法已开始与日间交易者竞争的情况下,集成近乎当前的数据无疑是一个巨大的优势。

    Can we quickly whip up an HTM network that predicts Bitcoin prices? Sure. Does it make great predictions?

    我们可以快速建立一个预测比特币价格的HTM网络吗? 当然。 它能做出很好的预测吗?

    Image for post
    you’d have better luck with astrology
    占星术会更好

    Woe unto anyone who listens to a model that took 10 minutes to train on a laptop.

    那些听模型花费了10分钟才能在笔记本电脑上进行训练的人都会感到不适。

    I would describe this model as cute. Maybe “scrappy”.

    我认为这个模特很可爱。 也许是“草率”。

    I’ll dig into what makes the model bad & what makes it viable at all. My previous articles on HTM tech will get you up to speed with what I’m writing about, but the best and easiest way to understand any of this is the HTM School videos.

    我将深入研究导致模型失效的原因以及使其可行的原因。 我之前关于HTM技术的文章可以使您快速掌握我的写作内容,但是了解其中任何内容的最佳,最简便的方法是HTM School视频。

    I found some data online for the past 3 years of Coinbase’s BTC data, including opening & closing prices, high & low, and volume of USD & BTC for each hour since July 2017. Cleaned it up a little in pandas, standard stuff.

    我发现了过去三年Coinbase BTC数据的一些在线数据,包括开盘价和收盘价,最高价和最低价以及自2017年7月以来每小时的美元和BTC交易量。在熊猫中清理了一些标准内容。

    What’s interesting is that we’ve got 6 scalars & 1 DateTime to encode into an SDR:

    有趣的是,我们有6个标量和1个DateTime可以编码为SDR:

    # 
    dateEncoder = DateEncoder(
    timeOfDay = (30,1)
    weekend = 21scalarEncoderParams = RDSE_Parameters() # random distributed scalar encoder
    scalarEncoderParams.size = 800
    scalarEncoderParams.sparsity = 0.02
    scalarEncoderParams.resolution = 0.88
    scalarEncoder = RDSE(scalarEncoderParams) # create the encoderencodingWidth = (dateEncoder.size + scalarEncoder.size*6) # since we're using the scalarEncoder 6 times

    The dateEncoder runs much the same as power consumption prediction — coding for Year isn’t really going to give semantic meaning when there’s only 3 years to work with. These are the interesting questions to ask when you make SDRs — is the info I’m including worth it? Why?

    dateEncoder的运行与功耗预测非常相似,只有3年的工作时间,Year的编码实际上并没有给出语义上的含义。 这些是制作SDR时会问的有趣问题-我所包括的信息值得吗? 为什么?

    HTM.core has a good amount of Nupic’s Python 2.7 code translated to Python 3, but lacks their MultiEncoder — a neat wrapper that combines several encoders together for easy individual tuning. So I used the same ScalarEncoder for all 6 floats like a complete barbarian. A better plan would be to create 6 different encoders, one for each variable.

    HTM.core拥有大量的Nupic的Python 2.7代码转换为Python 3,但缺少MultiEncoder —一种简洁的包装程序,将多个编码器组合在一起,可以轻松地进行单独调整。 因此,我对所有6个浮动对象都使用了相同的ScalarEncoder ,就像一个完整的野蛮人一样。 更好的计划是创建6个不同的编码器,每个变量一个。

    I also increased the size of the SpatialPooler and Temporal Memory by ~30%, and boosted the TM’s number of cells per column from 13 to 20. My reasoning is that a good predictive model should look relatively further back when we’re dealing with one-hour timestamps, so longer columns makes a difference.20 hours might not be enough, in retrospect, considering many standard stock algorithms use 7–10 day rolling averages and other longer metrics.

    我还将SpatialPooler和时间记忆的大小增加了约30%,并将TM每列的单元数从13增加到20。我的理由是,当我们处理一个模型时,一个好的预测模型应该相对地往后看时戳,因此较长的列会有所作为。回想起来,考虑到许多标准股票算法使用7-10天的滚动平均值和其他更长的指标,20小时可能还不够。

    This changed my training time from 7 minutes to 10, by the way. Seems like there’s a lot of room to add computationally heavy parameters, but I don’t think that’s quite the problem here.

    顺便说一下,这将我的培训时间从7分钟更改为10分钟。 似乎有很大的空间可以添加计算繁重的参数,但是我认为这并不是问题所在。

    你得到你投入的东西 (You get out what you put in)

    Here’s a neat visual example of SDR concatenation, shameless stolen from episode 6 of HTM School:

    这是SDR串联的简洁直观示例,从HTM School第6集中偷偷偷偷偷偷地偷了:

    A DateTime encoder creates mini-SDRs for each part of information contained by the timestamp, and combines it to form a larger encoding. As long as the order of concatenation is preserved (first X bits are day_of_week, next Y bits are weekend, etc) then you can combine any encoded datatypes into a coherent SDR to feed to the SpatialPooler.

    DateTime编码器为时间戳所包含的信息的每个部分创建mini-SDR,并将其组合以形成更大的编码。 只要保留串联的顺序(前X个位是day_of_week ,下一个Y位是weekendSpatialPooler ),那么您就可以将任何编码的数据类型组合成一致的SDR,以馈送给SpatialPooler

    Image for post

    Here’s the first half of the training loop. We start by designating the output value to be predicted, and then encode the data, running 6 values through the scalarEncoder.

    这是训练循环的前半部分。 我们首先指定要预测的输出值,然后对数据进行编码,并通过scalarEncoder运行6个值。

    The neat part is creating encoding=SDR(encodingWidth).concatenate([list_of_SDRs]) . We only have to pre-define encodingWidth as the sum of each variable’s SDR length (or size), create an SDR with that size, then use .concatenate() to fill the empty SDR with bits.

    整洁的部分是创建encoding=SDR(encodingWidth).concatenate([list_of_SDRs]) 。 我们只需要预定义encodingWidth作为每个变量的SDR长度(或大小)的总和,创建具有该大小的SDR,然后使用.concatenate()即可用位填充空的SDR。

    错位 (Misalignment)

    After training on 27,000 hours of price data, our accuracy didn’t seem too bad:

    经过27,000小时的价格数据训练后,我们的准确性似乎还不错:

    Root Mean Squared Error for 1-step, 5-step predictions:
    {1: 2.8976319767388525, 5: 2.8978454708090684}

    Considering the units are anywhere from ~4,000 to 10,000, this seemed a little too good to be true. I graphed it to find out:

    考虑到单位在从4,000到10,000的范围内,这似乎有点不真实。 我将其绘制图形以找出:

    Image for post
    spooky
    幽灵般的

    It takes ~2000 hours to start outputting any decent predictions — you can see 1-step and 5-step blue/green lines jumping up and down in the very beginning.

    开始输出任何体面的预测大约需要2000个小时-一开始,您会看到1步和5步蓝/绿线上下跳跃。

    What’s quite interesting is the huge anomaly predictions around the 12,000–15,000 hour regions. In terms of price spikes, here’s nothing huge going on while it’s predicting anomalous next-hour values.

    有趣的是,在12,000–15,000小时区域周围的巨大异常预测。 就价格飙升而言,在预测下一小时的价值异常 ,没有什么大不了的。

    But after the first of the two big anomaly spikes, there’s a relatively sharp crash— from $7,000 to a bottom of under $3,000.

    但是,在两次大的异常峰值中的第一个之后,出现了一个相对急剧的崩溃-从7,000美元跌至底部3,000美元以下。

    This is the machine learning equivalent of walking your dog in the woods at night, when suddenly it starts whining and growling, looking off into the darkness. You don’t sense anything and keep walking. Out of the corner of your eye you see two bright red eyes staring at you, so you run like hell and wish you’d listened to the dog sooner.

    这是机器学习的等效方法,它相当于在晚上dog狗到树林里,突然之间它开始抱怨和咆哮,直视黑暗。 您什么都没感觉到并且继续走。 从您的眼角可以看到两只鲜红的眼睛凝视着您,所以您像地狱般奔跑,希望您早日听见那只狗。

    We’re predicting closing_price for each hour, but the model’s also learning from the high, low, currency volume, and the recent patterns and relationships of each. It picked up on some relatively strange activity — perhaps those stretches had anomalous fluctuations in high-low span or rapid micro-deviations in price.

    我们正在预测每小时的closing_price ,但是该模型还在从高,低,货币数量以及每个货币的近期模式和关系中学习。 它开始了一些相对奇怪的活动-也许这些延伸段的高低跨度出现了异常波动,或者价格出现了微小的快速波动。

    It also predicted anomalous activity for a while before the prices started to recover, although it’s a little less clear-cut. It could be said that sudden drops in price tend to change people’s speculative trading behavior, so anomalies would be likely occurrences. In that case, I wonder what caused the pre-crash anomaly readings.

    该公司还预测,在价格开始回升之前的一段时间内会出现异常活动,尽管这一点不太明确。 可以说,价格突然下跌往往会改变人们的投机交易行为,因此很可能会出现异常情况。 在那种情况下,我想知道是什么原因导致了崩溃前的异常读数。

    我们没有在看什么 (What We’re Not Looking At)

    We had some interesting ideas from the large-scale graph. But if the goal is predict prices for trading, we need to look at the day-to-day use case. Here’s May 2018:

    我们从大型图表中获得了一些有趣的想法。 但是,如果目标是预测交易价格,则我们需要查看日常用例。 这是2018年5月:

    Image for post

    The 5-step and 1-step predictions don’t follow the input that well, to be honest. It’s normally within a couple hundred dollars, but that’s not a very reassuring metric when you’re g̶a̶m̶b̶l̶i̶n̶g̶ investing. There’s far too many deviations for my adorable model to compete with Intelletic’s price predictions. But why?

    老实说,五步预测和一步预测并没有很好地遵循输入。 通常在几百美元以内,但是当您进行大量投资时,这并不是一个令人放心的指标。 我的可爱模型有太多差异,无法与Intelletic的价格预测竞争。 但为什么?

    The biggest weakness of this model is that it’s trying to put together a puzzle without all of the pieces. We only encoded Bitcoin price data, but the price of the most popular cryptocurrency is a result of many diverse factors — public confidence, private investors, whatever clickbait article was published, whether the president/Musk tweeted about crypto, etc.

    该模型的最大缺点是,它试图在没有所有碎片的情况下拼凑一个难题。 我们仅对比特币价格数据进行编码,但是最受欢迎的加密货币的价格是多种因素共同作用的结果-公众信心,私人投资者,发表的任何点击诱饵文章,总统/马斯克是否发表过有关加密货币的推文等。

    A decent metric to look at might be the prices of other cryptocurrencies, however. Many coins tend to swing in accordance with each other.

    然而,一个不错的指标可能是其他加密货币的价格。 许多硬币倾向于相互摆动。

    What is certain is that there’s much more room to encode more complex data into SDR input. Increasing the input size and model complexity by ~30% changed runtime from 7 to 10 minutes. This is largely due to the ease of bitwise comparisons between SDRs & the synaptic configuration of Temporal Memory systems; the exploding-runtime architecture complexity problem doesn’t apply in quite the same way.

    可以肯定的是,还有更多的空间可以将更复杂的数据编码为SDR输入。 输入大小和模型复杂度增加约30%,将运行时间从7分钟更改为10分钟。 这主要是由于SDR之间的按位比较容易以及时间记忆系统的突触配置所致。 爆炸式运行时体系结构复杂性问题不适用于完全相同的方式。

    So what have we learned?

    所以我们学了什么?

    It’s near impossible to get close to 100% accuracy with predicting markets like these, but some companies manage to get high enough certainty to make significant gains over time. That means the process works, and it’s worth pushing to improve it further.

    预测这样的市场几乎不可能达到100%的准确性,但是有些公司设法获得足够高的确定性,以随着时间的流逝取得可观的收益。 这意味着该流程有效,值得进一步改进它。

    Don’t underestimate the complexity of publicly-traded commodities, for a start. Train on more than 3 years of data, certainly.

    首先,请不要低估公开交易商品的复杂性。 当然,要训练3年以上的数据。

    But when in doubt, find more data. If your model is already at a certain point of complexity & you’re not getting the results you want, you’re either not looking at the whole picture (data) and/or not asking the right questions.

    但是,如果有疑问,请查找更多数据。 如果您的模型已经处于某个复杂的点上,并且您没有得到想要的结果,那么您要么没有查看整个图片(数据)和/或没有提出正确的问题。

    翻译自: https://medium.com/swlh/applying-temporal-memory-networks-to-crypto-prediction-24f924c3a014

    数据存储加密和传输加密

    展开全文
  • config.yaml包含语言,批处理大小,睡眠时间和信噪比(SNR)配置。 设置睡眠时间,以避免出现 (Google翻译的文本语音API)问题(例如,IP地址阻止)。 批处理功能用于提高性能速度。 此外,这也是Google Translate...
  • 1、今天下午从四点一直修改到7点,接近3个小时,由于自己是初学者,费了不少时间和精力。2、更新数据为什么会出现上述问题,问号报错,不也报错?3、JDBC:for the right syntax to use near '?where id=?' ...

    1、今天下午从四点一直修改到7点,接近3个小时,由于自己是初学者,费了不少时间和精力。

    2、更新数据为什么会出现上述问题,加问号报错,不加也报错?

    3、JDBC:for the right syntax to use near '?where id=?'

        Connection conn =DBHelper.getConnection();
        String sql = "update userinfo set balance=?"+"where id=?";
        PreparedStatement ps = (PreparedStatement) conn.prepareStatement(sql);
        ps.setDouble(1, balance);
        ps.setInt(2, id);

        ps.executeUpdate(sql);

    3、错误原因:ps.executeUpdate();//这里面不可加sql,否则会报错

    4、关于Statement和PreparedStatement的关系和区别参考:https://blog.csdn.net/suwu150/article/details/52745055#commentBox

    展开全文
  • 不同在于这个模型加强了loss约束,增强了对噪声、低纹理区域光强变化的稳定性。不使用一般左右一致性的方法的处理遮挡区域,这里使用left—check的方法,减少了计算时间。另外采用adaptive support weight方法...

    1 Intro
    本文设计了一个端到端的方法,同样使用生成差异图的方法。不同在于这个模型加强了loss约束,增强了对噪声、低纹理区域和光强变化的稳定性。不使用一般左右一致性的方法的处理遮挡区域,这里使用left—check的方法,减少了计算时间。另外采用adaptive support weight方法(基于窗口的cost aggregation)对loss优化,这样可以保留边界并使loss平滑,最终取得了比较好的效果。
    2 Method
    在这里插入图片描述
    该网络的输入如图所示,通过双目相机获得的一对左右图片,输出是原始分辨率下的两个差异图。这个网络的主要问题就是在没有直接监督的情况下,对遮挡和光亮影响的鲁棒性。
    2.1 Network Architecture
    该网络有两部分,一条线用于获得差异图(上部分),另一条线用于获得置信图(下部分)。每条线首先是Siamese tower产生input 1/8分辨率的feature,然后建立起低分辨率的cost volume。通过soft argmin方法从cost volume产生差异图,这里作者避免使用了过大计算量的3D卷积。之后采用双线性插值的方法,将差异图上采样到原始图像的分辨率,最后一步将input和差异图merge到一起进入refinement network获得最终的差异图,这样更好消除失真。
    在这里插入图片描述
    网络同步进行invalidation mask的预测(即下面部分),这个mask是移除网络不确定区域的,比如遮挡。这部分会在之后介绍。
    2.2 Loss Function
    同样的一般的loss就是重建误差,通过差异图重建的左视图与原左视图的误差。重建左视图需要对右视图采样,采样是使用Spatial Transformer Network(STN),该采样对同行的2个像素进行双线性采样而且是完全可微的。

    在这里插入图片描述
    作者提出从之前的研究总结,这样的loss并不能提供强有力的约束,首先,接受到的信号强度与距离的平方成反比,这导致光度与距离之间明显的依赖(越亮的像素越近)。第二,明亮的像素比暗的像素更容易产生较大的残差,因为对于一个像素(I*是无噪声信号,σ取决于相机)

    在这里插入图片描述
    则两个匹配像素之间的残差满足分布

    在这里插入图片描述
    可知,方差与亮度有关,更亮的像素点就有更大的残差。
    在passive stereo的情况下,这种影响可以忽略不计,因为在RGB图像中,亮度和视差之间没有相关性,但是在active stereo的情况下,上述问题会使网络偏向于近处场景,而近处场景总是有较大的残差。网络会主要学习那些简单的区域,并将其余部分平滑化。然而,更暗的像素,大多在远处,需要更高的匹配精度以获得精确的深度,却被忽略了。
    下图左展示了使用photometric loss的重建误差,由于噪声的输入依赖性,枕头上的明亮像素显示出很高的重建误差。
    使用photometric loss另一个问题发生在遮挡区域:事实上,当背景和前景之间的亮度度差异严重时,loss就会在遮挡区域大量分布,然而这块遮挡区域又无法用数据解释,导致网络再无法解释的区域学习。
    在这里插入图片描述
    2.3 Weighted Local Contrast Normalization
    由此作者提出了使用Local Contrast Normalization的策略,不仅可以消除亮度和差异之间相关性,还可以给遮挡区域更好的残差,拥有对左右视图光强变化的稳定性。对于每个像素,计算一个9*9的小像素块中的局部均值 μ和标准差σ,局部的统计量用于归一化当前像素的亮度

    在这里插入图片描述
    对于使用局部归一化后的重建误差在上图中间给出,亮度和差异的关系就会被消除,并且从第二行的误差图来看重建误差也不会趋向于亮度高或者遮挡的区域。
    但是,LCN在标准差接近0的弱纹理的区域表现不好(LCN error),因为这些区域小的σ会放大任何两个匹配像素间残差。为了移除这些影响,本文使用局部标准差来对两个匹配像素进行加权。因此,重建误差就变为了:

    在这里插入图片描述
    2.4 Window-based Optimization
    在这里插入图片描述
    在不同disparity下对三个区域分析loss function,如上图所示,颜色对应三个区域。对于单个像素成本,该曲线是高度非凸的,这使得很难检索到真实值。事实上,该曲线有许多局部极值,导致很难达到真正的最优。在传统的立体匹配中,成本聚合使用来自相邻像素的信息来保证结果鲁棒性。如果我们考虑每个像素周围的窗口中的成本之和,则损失函数在有纹理和无纹理区域都会变得平滑,而且能够达到最优值。但是,大窗口的缺点是小物体和细节会被多个成本聚合平滑掉,并且在最后的视差图中无法恢复。
    一般使用ASW方法,有效但是很慢,所以作者仅在训练中采用此方法,不用来实时使用。这里作者采用此方法,对一个像素考虑其亮度,不是计算每个像素的Loss,而是使用一个2Kx2K窗口大小的聚合成本
    在这里插入图片描述
    这里面 在这里插入图片描述,σ=2
    如上图所示,使用ASW方法后,平滑了cost function并且保留了边缘。作者使用了32*32的窗口在整个训练阶段。同样作者尝试了随着训练减小窗口的方法,但结果和不使用窗口的单像素loss相似。
    2.5 Invalidation Network
    上述中的loss并没有处理遮挡和错误匹配。遮挡区域并不能在成本项中提供任何有效的信息。为解决遮挡问题,传统的立体匹配方法采用左右一致性校验方法即,将左右视差差值小于某个阈值|dl-dr|<θ,使左右视察差值超过阈值的点为无效点。但是这样会导致边界过度平滑,产生离群点。与这个方法相反,本文定义一个像素p(i,j),使用:

    在这里插入图片描述
    对于m=0的像素,在loss计算中忽略。为了避免所有像素都无效的情况,作者通过在每个像素位置中使用恒定标签1最小化交叉熵损失来对有效像素的数量实施正则化。这个mask在低分辨率差异图和最终分辨率差异图中皆使用。
    同时,模型训练一个全卷积的无效性网络,将Siamese塔的特征图作为输入,产生一个低分辨率的无效区域mask, 然后将其上采样到并且使用微调模块进行微调。这个网络避免在运行时对左右一致性进行校验,让推断更快。
    3 Experiments
    在这里插入图片描述
    可以看出,像PatchMatch和HashMatch这样的局部方法无法处理有源光和无源光的混合照明场景,因此会产生不完整的差异图像(缺失像素显示为黑色)。使用半全局方案的传感器输出更适合此类数据,但仍然容易受到图像噪声的影响(请注意第四列中的噪声结果)。
    输出保留了所有细节,噪音很低。相比之下,本网络使用自监督方法进行训练的网络产生了过度平滑的输出。
    4 Discussion
    本文设计了一个新的loss来处理高频模式,照明影响和像素遮挡的情况,以解决自我监督设置中的active stereo问题。与其他方法相比,ASN不会产生过于平滑的细节,可以生成完整的深度图,保留有清晰的边缘,没有离群点。
    作者提出未来的工作可以致力于透明物体和细小结构的处理。另外,可以采用的快速的ASW方法,训练和运行时同时使用。

    展开全文
  • arcgis10.1正式版下载完美破解

    千次下载 热门讨论 2012-08-14 19:20:54
     ArcGIS10.1彻底架起了端到云的桥梁,使得空间信息的创造者与使用者紧密连接,通过ArcMap、Portal for ArcGIS、云中ArcGIS Server及移动终端上ArcGIS的App,每个人都可以成为空间信息的分享者使用者。制图上强调...
  • Flink窗口起始时间计算

    千次阅读 2021-03-05 13:03:57
    Flink中窗口的时间不是根据进入窗口的第一个元素计为窗口的开始时间和加Size计窗口结束时间,而是根据Flink内置计算公式timestamp - (timestamp - offset + windowSize) % windowSize计算。 /** * Method to get ...

    Flink中窗口的时间不是根据进入窗口的第一个元素计为窗口的开始时间和加Size计窗口结束时间,而是根据Flink内置计算公式timestamp - (timestamp - offset + windowSize) % windowSize计算。

    /**
      * Method to get the window start for a timestamp.
      *
      * @param timestamp epoch millisecond to get the window start. (记录时间戳)
      * @param offset The offset which window start would be shifted by. (偏移时间,默认为0)
      * @param windowSize The size of the generated windows. windowSize. (为窗口大小)
      * @return window start
    */
    public static long getWindowStartWithOffset(long timestamp, long offset, long windowSize) {
    	return timestamp - (timestamp - offset + windowSize) % windowSize;
    }
    

    timestamp - (timestamp - offset + windowSize) % windowSize:其中括号内的windowSize用于防止相减后结果负数,offset默认为0。整个公式可以演变为timestamp - (timestamp) % windowSize,当前时间戳timestamp减去余数,剩下的恰好是窗口的整数倍。

    关注公众号 数据工匠记 ,专注于大数据领域离线、实时技术干货定期分享!个人网站 www.lllpan.top
    在这里插入图片描述

    展开全文
  • For each test case, print the cheapest price in a line, accurate up to 2 decimal places. It is assumed that the tank is empty at the beginning. If it is impossible to reach the destination, print ...
  • GPU:NVIDIA G80+ (GT8600 to GTX1080 TI) 第一部分:如何找回Excel的打开密码? 步骤1:选择模式 在电脑上下载疯师傅Excel解密助手,安装后打开,选择“恢复密码”。 步骤2:选择Excel文件破解方法 点击加号...
  • 流光4.71 for.zip

    2010-03-23 11:21:02
    对其上已知的帐号进行密码强攻, 经探测得知其FTP端口是开放的,在未预先通知的情况下对其进行攻击,事后打电话询问其记录情况,在EVENT VIEWER里有如下信息:WARNING:The server was unable to logon the Windows NT ...
  • 常用 Convert 方法有: 第2页 C#(WINFORM)学习 C# Convert.ToBoolean Convert.ToByte Convert.ToChar Convert.ToDateTime Convert.ToDecimal Convert.ToDouble Convert.ToInt16 Convert.ToInt32 Convert.ToInt64 ...
  • 也就是说,每次运行得到的结果是一个固定且相同的值,即便是了pause(),等待哪怕1000秒,当1000秒后,所有的哲学家仍然同时由等待状态转变成了可运行态,接着受到线程调度器分配时间片来驱动,这等待时间的长短...
  • 逻辑英语——动词分词-----名词

    千次阅读 2017-12-14 20:35:05
    I forget locking the door. 我忘了锁过门这件事情了。 I forget to lock the door. 我忘了去锁门了。...time不s表示时间 sometime 某时some time 一些时间sometimes 有时 间或some times 一些次
  • 1.采用Springboot开发,数据库使用连接池orm框架的模式,对于系统的关键业务使用Redis缓存,加快相应速度。 2.整体系统采用门户网站+后台管理+用户个人中心的方式搭建,门户网站展示博客内容以及博主介绍,后台...
  • 这个问题困扰我两天了,网上常见的我都试过,包括springjdk版本的适配,jar包的调整等等。请各位大佬帮忙看一下,感激不尽!下面是我警告错误的代码: ``` WARN org.springframework.web.context.support....
  • If you want to have each thread pause for the same amount of time between requests, use this timer. 如果您想让每个线程在请求之间暂停相同的时间量,请使用此计时器。 Constant Timer 固定定时器 作用域:...
  • WINCVSCVSNT安装包

    2008-11-14 16:55:53
    rejected access to /coderoot for user cvsuser 解决方法:需要使用系统用户登录,例如administrator 情况二:cvsnt 单一验证 cvs [login aborted]: no such user cvsuser in CVSROOT/passwd 解决方法:...
  • 购买商业授权为您节省大量开发、测试完善兼容性的时间,让您更多时间用于创新及盈利。罗盒科技已在2020年报警起诉了一些个人及公司。 2019年3月1日起,我们将VirtualApp商业版代码更新方式升级为GitHub私有库...
  • date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间 set 指定环境变量名称=要指派给变量的字符 设置环境变量 set 显示当前所有的环境变量...
  • 枸杞的由来技术栈

    2021-01-02 15:11:32
    可以负责任地说这个功能完全可以把写类型定义的时间全都给挣回来。 良好的社区开发计划 只要稍微关注一下 TypeScript 的 issue,released note 就不难发现,由 Anders Hejlsberg 领衔的 TypeScript ...
  • For i = 1 To 30 arr(i) = arr(i) + Range("d" & i + 4) Next i End If f = Dir Loop Range("d5").Resize(UBound(arr), 1) = WorksheetFunction.Transpose(arr) Application.ScreenUpdating = True End Sub ********...
  • for Windows* (178Mb) 下载完成后,直接安装即可,安装过程中按默认设置即可。 2.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示 程序。 3.我们用File->New 菜单来新建工程。 4.这里我们选择...
  • 大O表示法

    2019-08-30 23:21:42
    Taken by iCola 一、时间复杂度计算 ...比如下面这个加和计算: a = 1b = 2sum = 0for i = 1 to n sum += ireturnsum 其中循环字段执行n次,时间复杂度即为O(n)。 再比如下面这个,在两个等长数组中,查找...
  • If you need to use the WeChat SDK without payment for your IOS version, use the NPM package with the suffix "-notpay". 目录 安装 起步 API 文档 安装 npm install react-native-wechat-lib --save react...
  • 使用spring boot2.0.3,druid配置多数据源,配置了testWhileIdletimeBetweenEvictionRunsMillis, 超过mysql的time_out 时间时,代码还会报错 ...
  • 10.9.5 时间间隔的减运算 10.9.6 时间间隔的乘除运算 10.9.7 使用不受限制的时间间隔类型 10.10 日期/时间函数的快速参考 第11章 记录类型 11.1 PL/SQL中的记录 11.1.1 使用记录的好处 11.1.2 声明记录 ...
  • gouxp: 用Go实现基于回调方式的KCP开发包,包含解密FEC支持,简单易用。 商业案例 明日帝国:Game K17 的 《明日帝国》 (Google Play),使用 KCP 加速游戏消息,让全球玩家流畅联网 仙灵大作战:4399 的 ...
  • A) 25 minutes B) 65 minutes C) 20 minutes D) 45 minutes 【解析】 当你看见这四个选项,不难发现这一题是在考与时间有关的内容,并且从选项当中可以推测到是考时间减关系,因为其中三个选项都是正确答案的...
  • test01.json 配置文件

    2020-08-10 16:07:10
    32-byte long space to conserve smart things for ethernity. :) 可选免费,但最多32字节长的空间,以保护智能的东西为ethernity。 :) gasLimit A scalar value equal to the current chain-wide limit of Gas ...
  • .htaccess

    2007-07-19 01:51:18
    all you need to do is to create a file to display when the error happens and upload it and the .htaccess file. 接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们.htaccess一起上传。...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 319
精华内容 127
关键字:

to加时间和for加时间