public String marshal() {
        StringBuilder result = new StringBuilder();
        result.append(logicTableName).append(':');
        for (DataNode each : dataNodes) {
            result.append(DataNodeUtils.formatWithSchema(each)).append(',');
        }
        if (!dataNodes.isEmpty()) {
            result.setLength(result.length() - 1);
        }
        return result.toString();
    }
@Test
    void assertMarshal() {
        String actual = new JobDataNodeEntry("t_order", Arrays.asList(new DataNode("ds_0.t_order_0"), new DataNode("ds_0.t_order_1"))).marshal();
        String expected = "t_order:ds_0.t_order_0,ds_0.t_order_1";
        assertThat(actual, is(expected));
    }