예제 #1
0
 def test_presto_create_row_and_array_hierarchy(self):
     cols = [{
         'name':
         'row_column',
         'type':
         'ROW(NESTED_OBJ1 VARCHAR, NESTED_ROW ROW(NESTED_OBJ2 VARCHAR)'
     }, {
         'name':
         'array_column',
         'type':
         'ARRAY(ROW(NESTED_ARRAY ARRAY(ROW(NESTED_OBJ VARCHAR))))'
     }]
     actual_row_col_hierarchy,\
         actual_array_col_hierarchy,\
         actual_expanded_cols = PrestoEngineSpec._create_row_and_array_hierarchy(cols)
     expected_row_col_hierarchy = {
         'row_column': {
             'type': 'ROW',
             'children':
             ['row_column.nested_obj1', 'row_column.nested_row'],
         },
         'row_column.nested_row': {
             'type': 'ROW',
             'children': ['row_column.nested_row.nested_obj2']
         },
     }
     expected_array_col_hierarchy = {
         'array_column': {
             'type': 'ARRAY',
             'children': ['array_column.nested_array'],
         },
         'array_column.nested_array': {
             'type': 'ARRAY',
             'children': ['array_column.nested_array.nested_obj']
         },
     }
     expected_expanded_cols = [{
         'name': 'row_column.nested_obj1',
         'type': 'VARCHAR'
     }, {
         'name': 'row_column.nested_row',
         'type': 'ROW'
     }, {
         'name': 'row_column.nested_row.nested_obj2',
         'type': 'VARCHAR'
     }, {
         'name': 'array_column.nested_array',
         'type': 'ARRAY'
     }, {
         'name': 'array_column.nested_array.nested_obj',
         'type': 'VARCHAR'
     }]
     self.assertEqual(actual_row_col_hierarchy, expected_row_col_hierarchy)
     self.assertEqual(actual_array_col_hierarchy,
                      expected_array_col_hierarchy)
     self.assertEqual(actual_expanded_cols, expected_expanded_cols)
 def test_presto_create_row_and_array_hierarchy(self):
     cols = [
         {
             "name": "row_column",
             "type": "ROW(NESTED_OBJ1 VARCHAR, NESTED_ROW ROW(NESTED_OBJ2 VARCHAR)",
         },
         {
             "name": "array_column",
             "type": "ARRAY(ROW(NESTED_ARRAY ARRAY(ROW(NESTED_OBJ VARCHAR))))",
         },
     ]
     actual_row_col_hierarchy, actual_array_col_hierarchy, actual_expanded_cols = PrestoEngineSpec._create_row_and_array_hierarchy(  # noqa ignore: E50
         cols
     )
     expected_row_col_hierarchy = {
         "row_column": {
             "type": "ROW",
             "children": ["row_column.nested_obj1", "row_column.nested_row"],
         },
         "row_column.nested_row": {
             "type": "ROW",
             "children": ["row_column.nested_row.nested_obj2"],
         },
     }
     expected_array_col_hierarchy = {
         "array_column": {
             "type": "ARRAY",
             "children": ["array_column.nested_array"],
         },
         "array_column.nested_array": {
             "type": "ARRAY",
             "children": ["array_column.nested_array.nested_obj"],
         },
     }
     expected_expanded_cols = [
         {"name": "row_column.nested_obj1", "type": "VARCHAR"},
         {"name": "row_column.nested_row", "type": "ROW"},
         {"name": "row_column.nested_row.nested_obj2", "type": "VARCHAR"},
         {"name": "array_column.nested_array", "type": "ARRAY"},
         {"name": "array_column.nested_array.nested_obj", "type": "VARCHAR"},
     ]
     self.assertEqual(actual_row_col_hierarchy, expected_row_col_hierarchy)
     self.assertEqual(actual_array_col_hierarchy, expected_array_col_hierarchy)
     self.assertEqual(actual_expanded_cols, expected_expanded_cols)