使用Dataflow CTP(在TPL中)
如果在超时后当前排队或推迟的项目数小于BatchSize,是否有办法自动调用BatchBlock.TriggerBatch?
更好的是:每次块接收到新项时,此超时应重置为0.
数据流分析和抽象解释之间有什么区别,它们是否用于相同的目的?这两者相对于彼此的利弊是什么.
compiler-construction static-analysis dataflow abstract-interpretation
我有兴趣在我的应用程序中嵌入类似工具的MathWorks Simulink.在这个嵌入式工具中,单位用块的输入和输出端口以及每个块的参数表示,使用我想要的工具所需的块定义文件.我希望框架是通用的,并从某处读取块定义,然后允许用户根据它们的定义组合给定块的数据流(最好带有图形编辑器来实现).然后,我希望该工具导出用户组成的块数据流,我可以用Java(或其他语言)实际读取它,并像构建给定数据流的可执行版本一样执行任何操作.
我知道在提前级别,导出的块组合可以足够智能,可以执行,但我可以导出块组合/拓扑以及相互连接的输入和输出.换句话说,我不是在寻找数据流编程语言.我正在寻找允许数据流的图形组合的工具集,然后导出组合,如json或我可以在编程语言中加载的东西,并用它做任何事情.
上面的框架/工具是Simulink对来自不同库的块所做的事情,但是我需要在我自己的工具中嵌入这样的东西,并且想知道哪些开源项目接近我想要做的事情.我想我想要的是数据流组合框架.请纠正我对此的看法.
我有一个带有数据流的SSIS包,它接受一个ADO.NET数据源(只是一个小表),执行一个select*查询,并将查询结果输出到一个平面文件(我也试过拉动整个表而不是使用SQL select).
问题是数据源提取的是一个Money数据类型的列,如果该值不为零,它就会很好地进入文本平面文件(如'123.45'),但当值为零时,它会显示出来在目标平面文件中为".00".我需要知道如何将前导零回到平面文件中.
我已经尝试了各种数据类型的输出(在平面文件连接管理器中),包括货币和字符串,但这似乎没有任何效果.
我在我的选择中尝试了一个case语句,如下所示:
CASE WHEN columnValue = 0 THEN
'0.00'
ELSE
columnValue
END
Run Code Online (Sandbox Code Playgroud)
(仍然导致'.00')
我尝试过这样的变体:
CASE WHEN columnValue = 0 THEN
convert(decimal(12,2), '0.00')
ELSE
convert(decimal(12,2), columnValue)
END
Run Code Online (Sandbox Code Playgroud)
(仍然导致'.00')
和:
CASE WHEN columnValue = 0 THEN
convert(money, '0.00')
ELSE
convert(money, columnValue)
END
Run Code Online (Sandbox Code Playgroud)
(结果为'.0000000000000000000')
这个愚蠢的小问题就是杀了我.任何人都可以告诉我如何将零Money数据类型数据库值作为'0.00'添加到平面文件中?
我需要回答这个问题:给定一个依赖图中的节点,通过它们自己的传递依赖对其依赖者进行分组,这些依赖会受特定的起始节点的影响.
换句话说,给定依赖图中的节点,找到直接依赖的集合的集合,其直接依赖于从该特定起始节点导出的公共依赖.
例如,给出伪代码:
let a = 1
let b = 2
let c = a + b
let d = a + b
let e = a
let f = a + e
let g = c + d
Run Code Online (Sandbox Code Playgroud)
你可以计算这个图:
如果我们用作a起始节点,我们可以看到a两者的依赖性,c并且d具有依赖性g.并且f有依赖e和a.
请注意,a根本没有任何影响b,因此在决定如何对依赖者进行分组时不应将其考虑在内a.
使用a作为起始节点,我们想要获得这些分组的依赖集:
groups = {{c, d}, {e, f}}
Run Code Online (Sandbox Code Playgroud)
c并且d具有直接或传递的下游关系,并且e也 …
graph-theory dataflow directed-graph transitive-closure transitive-dependency
python 世界中是否有 .NET TPL 数据流的类似物?
\n\n\n\nDataflow 是一个库,您可以在其中将 \xe2\x80\x9cblocks\xe2\x80\x9d 连接到每个库以创建管道(或图形)。有不同类型的块提供不同的功能并且可以同时操作。https://www.blinkingcaret.com/2019/05/15/tpl-dataflow-in-net-core-in-depth-part-1/
\n
有人可以解释为什么以及如何使用Clojure Dataflow编程API,因为我似乎无法在互联网上找到它.
当我需要捕获从一个API到另一个API的数据流时,我有一个用例.例如,我的代码使用hibernate从数据库读取数据,在数据处理期间,我将一个转换POJO为另一个并执行更多处理,然后最终转换为最终结果hibernate对象.简而言之喜欢的东西POJO1要POJO2来POJO3.
在Java中有一种方法可以推断POJO3的属性是从POJO1的这个属性中产生/转换的.我想看看我可以捕获从一个模型到另一个模型的数据流的东西.这个工具可以是编译时也可以是运行时,我对两者都没问题.
我正在寻找一种可以与代码并行运行的工具,并在每次运行的基础上提供数据沿袭细节.
我有一个数据流管道,我在其中使用 pubsub 消息,处理它们,然后发布到 pubsub。
每当我有太多计算(即我增加每条消息的处理量)时,我都会收到异常。:java.util.concurrent.ExecutionException:org.apache.beam.vendor.grpc.v1p13p1.io.grpc.StatusRuntimeException:CANCELLED:在接收半关闭之前取消
是什么导致了这个错误?我怎样才能避免它?完整的堆栈跟踪:
org.apache.beam.vendor.grpc.v1p13p1.io.grpc.StatusRuntimeException: CANCELLED: call already cancelled
org.apache.beam.vendor.grpc.v1p13p1.io.grpc.Status.asRuntimeException(Status.java:517)
org.apache.beam.vendor.grpc.v1p13p1.io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onNext(ServerCalls.java:335)
org.apache.beam.sdk.fn.stream.DirectStreamObserver.onNext(DirectStreamObserver.java:98)
org.apache.beam.sdk.fn.stream.SynchronizedStreamObserver.onNext(SynchronizedStreamObserver.java:46)
org.apache.beam.runners.fnexecution.control.FnApiControlClient.handle(FnApiControlClient.java:84)
org.apache.beam.runners.dataflow.worker.fn.control.RegisterAndProcessBundleOperation.start(RegisterAndProcessBundleOperation.java:254)
org.apache.beam.runners.dataflow.worker.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:77)
org.apache.beam.runners.dataflow.worker.fn.control.BeamFnMapTaskExecutor.execute(BeamFnMapTaskExecutor.java:125)
org.apache.beam.runners.dataflow.worker.StreamingDataflowWorker.process(StreamingDataflowWorker.java:1283)
org.apache.beam.runners.dataflow.worker.StreamingDataflowWorker.access$1000(StreamingDataflowWorker.java:147)
org.apache.beam.runners.dataflow.worker.StreamingDataflowWorker$6.run(StreamingDataflowWorker.java:1020)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud) dataflow google-cloud-platform google-cloud-pubsub apache-beam
dataflow ×10
java ×3
concurrency ×2
apache-beam ×1
clojure ×1
data-lineage ×1
dataflowtask ×1
dsl ×1
flat-file ×1
graph-theory ×1
modeling ×1
multicore ×1
python ×1
ssis ×1
workflow ×1