Skip to content

Commit

Permalink
Merge pull request #1767 from hansva/master
Browse files Browse the repository at this point in the history
HOP-4165, HOP-4489
  • Loading branch information
hansva committed Oct 28, 2022
2 parents 1d6a7cc + 227dae1 commit a899f38
Show file tree
Hide file tree
Showing 8 changed files with 535 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public static final TopLevelResource serializeResourceExportInterface(
// We add an extra file definition which gets picked up below and zipped up.
//
if (executionConfiguration != null) {
String encoding = Const.getEnvironmentVariable("file.encoding", Const.XML_ENCODING);
String encoding = Const.XML_ENCODING;
ResourceDefinition resourceDefinition =
new ResourceDefinition(
injectFilename,
Expand Down
341 changes: 341 additions & 0 deletions integration-tests/transforms/0047-multiway-merge-join.hpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,341 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<pipeline>
<info>
<name>0047-multiway-merge-join</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2022/06/30 15:35:29.264</created_date>
<modified_user>-</modified_user>
<modified_date>2022/06/30 15:35:29.264</modified_date>
</info>
<notepads>
<notepad>
<backgroundcolorblue>210</backgroundcolorblue>
<backgroundcolorgreen>136</backgroundcolorgreen>
<backgroundcolorred>15</backgroundcolorred>
<bordercolorblue>250</bordercolorblue>
<bordercolorgreen>231</bordercolorgreen>
<bordercolorred>200</bordercolorred>
<fontbold>N</fontbold>
<fontcolorblue>250</fontcolorblue>
<fontcolorgreen>231</fontcolorgreen>
<fontcolorred>200</fontcolorred>
<fontitalic>N</fontitalic>
<fontname>Segoe UI</fontname>
<fontsize>9</fontsize>
<height>21</height>
<xloc>448</xloc>
<yloc>64</yloc>
<note>Work with FULL OUTER JOIN but not with INNER JOIN</note>
<width>293</width>
</notepad>
</notepads>
<order>
<hop>
<from>Data grid - Airport</from>
<to>Sort rows</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Data grid - Country</from>
<to>Sort rows Country</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Sort rows Country</from>
<to>Multiway merge join</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Multiway merge join</from>
<to>Dummy (do nothing)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Sort rows</from>
<to>Multiway merge join</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Data grid - Airport</name>
<type>DataGrid</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<data>
<line>
<item>JFK</item>
<item>John F. Kennedy International Airport</item>
<item>US</item>
</line>
<line>
<item>LAX</item>
<item>Los Angeles International Airport</item>
<item>US</item>
</line>
<line>
<item>ORD</item>
<item>O'Hare International Airport</item>
<item>US</item>
</line>
<line>
<item>YYZ</item>
<item>Lester B. Pearson International Airport</item>
<item>CA</item>
</line>
<line>
<item>LHR</item>
<item>Heathrow Airport</item>
<item>UK</item>
</line>
<line>
<item>BRU</item>
<item>Brussels Airport</item>
<item>BE</item>
</line>
<line>
<item>CDG</item>
<item>Paris Charles de Gaulle Airport</item>
<item>FR</item>
</line>
<line>
<item>HRG</item>
<item>Hurghada</item>
<item>EG</item>
</line>
</data>
<fields>
<field>
<length>3</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
<name>IATA_Code</name>
<type>String</type>
</field>
<field>
<length>50</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
<name>Airport_Name</name>
<type>String</type>
</field>
<field>
<length>2</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
<name>Country_Code</name>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>224</xloc>
<yloc>48</yloc>
</GUI>
</transform>
<transform>
<name>Data grid - Country</name>
<type>DataGrid</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<data>
<line>
<item>BE</item>
<item>Belgium</item>
</line>
<line>
<item>CA</item>
<item>Canada</item>
</line>
<line>
<item>FR</item>
<item>France</item>
</line>
<line>
<item>UK</item>
<item>United Kingdom</item>
</line>
<line>
<item>US</item>
<item>United States</item>
</line>
<line>
<item>DE</item>
<item>German</item>
</line>
</data>
<fields>
<field>
<length>2</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
<name>Country_Code</name>
<type>String</type>
</field>
<field>
<length>50</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
<name>Country_Name</name>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>224</xloc>
<yloc>176</yloc>
</GUI>
</transform>
<transform>
<name>Dummy (do nothing)</name>
<type>Dummy</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<attributes/>
<GUI>
<xloc>736</xloc>
<yloc>176</yloc>
</GUI>
</transform>
<transform>
<name>Multiway merge join</name>
<type>MultiwayMergeJoin</type>
<description>sdgsdf</description>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<join_type>INNER</join_type>
<transform0>Sort rows Country</transform0>
<transform1>Sort rows</transform1>
<number_input>2</number_input>
<keys>
<key>Country_Code</key>
<key>Country_Code</key>
</keys>
<attributes/>
<GUI>
<xloc>544</xloc>
<yloc>176</yloc>
</GUI>
</transform>
<transform>
<name>Sort rows</name>
<type>SortRows</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<directory>${java.io.tmpdir}</directory>
<prefix>out</prefix>
<sort_size>1000000</sort_size>
<free_memory/>
<compress>N</compress>
<compress_variable/>
<unique_rows>N</unique_rows>
<fields>
<field>
<name>Country_Code</name>
<ascending>Y</ascending>
<case_sensitive>N</case_sensitive>
<collator_enabled>N</collator_enabled>
<collator_strength>0</collator_strength>
<presorted>N</presorted>
</field>
</fields>
<attributes/>
<GUI>
<xloc>352</xloc>
<yloc>48</yloc>
</GUI>
</transform>
<transform>
<name>Sort rows Country</name>
<type>SortRows</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<directory>${java.io.tmpdir}</directory>
<prefix>out</prefix>
<sort_size>1000000</sort_size>
<free_memory/>
<compress>N</compress>
<compress_variable/>
<unique_rows>N</unique_rows>
<fields>
<field>
<name>Country_Code</name>
<ascending>Y</ascending>
<case_sensitive>N</case_sensitive>
<collator_enabled>N</collator_enabled>
<collator_strength>0</collator_strength>
<presorted>N</presorted>
</field>
</fields>
<attributes/>
<GUI>
<xloc>352</xloc>
<yloc>176</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>
14 changes: 8 additions & 6 deletions integration-tests/transforms/datasets/data-set-filename.csv
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
row,value,checksum
1,,227-176-196-66-152-252-28-20-154-251-244-200-153-111-185-36-39-174-65-228-100-155-147-76-164-149-153-27-120-82-184-85
2,,
3,String one,196-100-68-36-145-62-9-250-247-10-137-92-53-18-82-198-218-31-215-29-97-177-51-6-226-233-72-214-236-101-11-157
4,String two,216-22-234-217-166-108-105-92-228-110-19-239-5-97-228-35-67-159-183-25-193-189-43-50-41-151-20-27-36-133-234-26
5,String three,159-239-11-199-219-83-12-30-213-150-105-174-130-217-190-5-167-85-19-137-136-160-56-86-51-229-196-113-16-13-129-178
Country_Code,Country_Name,IATA_Code,Airport_Name,Country_Code_1
BE,Belgium,BRU,Brussels Airport,BE
CA,Canada,YYZ,Lester B. Pearson International Airport,CA
FR,France,CDG,Paris Charles de Gaulle Airport,FR
UK,United Kingdom,LHR,Heathrow Airport,UK
US,United States,JFK,John F. Kennedy International Airport,US
US,United States,LAX,Los Angeles International Airport,US
US,United States,ORD,O'Hare International Airport,US
Loading

0 comments on commit a899f38

Please sign in to comment.