Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
doujutun3207
flink
提交
6c9aa290
F
flink
项目概览
doujutun3207
/
flink
与 Fork 源项目一致
从无法访问的项目Fork
通知
24
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
flink
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6c9aa290
编写于
7月 10, 2014
作者:
S
Stephan Ewen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add compiler test for solution sets depending on the delta set.
上级
8563d511
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
41 addition
and
0 deletion
+41
-0
flink-compiler/src/test/java/org/apache/flink/compiler/IterationsCompilerTest.java
...ava/org/apache/flink/compiler/IterationsCompilerTest.java
+41
-0
未找到文件。
flink-compiler/src/test/java/org/apache/flink/compiler/IterationsCompilerTest.java
浏览文件 @
6c9aa290
...
...
@@ -38,6 +38,8 @@ import org.apache.flink.compiler.plan.BulkIterationPlanNode;
import
org.apache.flink.compiler.plan.Channel
;
import
org.apache.flink.compiler.plan.OptimizedPlan
;
import
org.apache.flink.compiler.plan.WorksetIterationPlanNode
;
import
org.apache.flink.compiler.plandump.PlanJSONDumpGenerator
;
import
org.apache.flink.compiler.testfunctions.IdentityMapper
;
import
org.apache.flink.runtime.operators.shipping.ShipStrategyType
;
import
org.apache.flink.util.Collector
;
...
...
@@ -45,6 +47,37 @@ import org.apache.flink.util.Collector;
@SuppressWarnings
({
"serial"
,
"unchecked"
})
public
class
IterationsCompilerTest
extends
CompilerTestBase
{
@Test
public
void
testSolutionSetDeltaDependsOnBroadcastVariable
()
{
try
{
ExecutionEnvironment
env
=
ExecutionEnvironment
.
getExecutionEnvironment
();
DataSet
<
Tuple2
<
Long
,
Long
>>
source
=
env
.
generateSequence
(
1
,
1000
).
map
(
new
DuplicateValueScalar
<
Long
>());
DataSet
<
Tuple2
<
Long
,
Long
>>
invariantInput
=
env
.
generateSequence
(
1
,
1000
).
map
(
new
DuplicateValueScalar
<
Long
>());
// iteration from here
DeltaIteration
<
Tuple2
<
Long
,
Long
>,
Tuple2
<
Long
,
Long
>>
iter
=
source
.
iterateDelta
(
source
,
1000
,
1
);
DataSet
<
Tuple2
<
Long
,
Long
>>
result
=
invariantInput
.
map
(
new
IdentityMapper
<
Tuple2
<
Long
,
Long
>>()).
withBroadcastSet
(
iter
.
getWorkset
(),
"bc data"
)
.
join
(
iter
.
getSolutionSet
()).
where
(
0
).
equalTo
(
1
).
projectFirst
(
1
).
projectSecond
(
1
).
types
(
Long
.
class
,
Long
.
class
);
iter
.
closeWith
(
result
.
map
(
new
IdentityMapper
<
Tuple2
<
Long
,
Long
>>()),
result
).
print
();
OptimizedPlan
p
=
compileNoStats
(
env
.
createProgramPlan
());
new
PlanJSONDumpGenerator
().
getOptimizerPlanAsJSON
(
p
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
fail
(
e
.
getMessage
());
}
}
@Test
public
void
testTwoIterationsWithMapperInbetween
()
throws
Exception
{
try
{
...
...
@@ -261,4 +294,12 @@ public class IterationsCompilerTest extends CompilerTestBase {
return
new
Tuple2
<
Long
,
Long
>(
value
.
f0
,
value
.
f0
);
}
}
public
static
final
class
DuplicateValueScalar
<
T
>
extends
MapFunction
<
T
,
Tuple2
<
T
,
T
>>
{
@Override
public
Tuple2
<
T
,
T
>
map
(
T
value
)
{
return
new
Tuple2
<
T
,
T
>(
value
,
value
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录