[ 
https://issues.apache.org/jira/browse/HIVE-26298?focusedWorklogId=781280&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-781280
 ]

ASF GitHub Bot logged work on HIVE-26298:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Jun/22 15:05
            Start Date: 14/Jun/22 15:05
    Worklog Time Spent: 10m 
      Work Description: github-actions[bot] commented on PR #3361:
URL: https://github.com/apache/hive/pull/3361#issuecomment-1155319206

   
   # @check-spelling-bot Report
   ### :red_circle: Please review
   See the [files](3361/files/) view or the [action 
log](https://github.com/apache/hive/actions/runs/2496161559) for details.
   
   #### Unrecognized words (3)
   
   api
   esri
   wkid
   
   <details><summary>Previously acknowledged words that are now absent
   </summary>aarry timestamplocal yyyy </details>
   
   <details><summary>Available dictionaries could cover words not in the 
dictionary</summary>
   
   
[cspell:cpp/cpp.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/cpp/cpp.txt)
 (104293) covers 81 of them
   
[cspell:django/django.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/django/django.txt)
 (2342) covers 14 of them
   
[cspell:golang/go.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/golang/go.txt)
 (7745) covers 12 of them
   
[cspell:java/java.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/java/java.txt)
 (33524) covers 11 of them
   
[cspell:filetypes/filetypes.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/filetypes/filetypes.txt)
 (337) covers 10 of them
   
[cspell:aws/aws.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/aws/aws.txt)
 (1485) covers 10 of them
   
[cspell:css/css.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/css/css.txt)
 (993) covers 9 of them
   
[cspell:rust/rust.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/rust/rust.txt)
 (112) covers 8 of them
   
[cspell:npm/npm.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/npm/npm.txt)
 (671) covers 8 of them
   
[cspell:html/html.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/html/html.txt)
 (542) covers 8 of them
   
[cspell:scala/scala.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/scala/scala.txt)
 (2752) covers 7 of them
   
[cspell:php/php.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/php/php.txt)
 (9785) covers 6 of them
   
[cspell:fullstack/fullstack.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/fullstack/fullstack.txt)
 (181) covers 5 of them
   
[cspell:csharp/csharp.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/csharp/csharp.txt)
 (123) covers 5 of them
   
[cspell:python/python.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/python/python.txt)
 (364) covers 3 of them
   
[cspell:lua/lua.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/lua/lua.txt)
 (391) covers 3 of them
   
[cspell:dotnet/dotnet.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/dotnet/dotnet.txt)
 (9824) covers 2 of them
   
[cspell:ruby/ruby.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/ruby/ruby.txt)
 (354) covers 1 of them
   
[cspell:bash/bash-words.txt](https://raw.githubusercontent.com/check-spelling/cspell-dicts/HEAD/dictionaries/bash/bash-words.txt)
 (22) covers 1 of them
   
   Consider adding them using:
   ```
         with:
           extra_dictionaries:
             cspell:cpp/cpp.txt
             cspell:django/django.txt
             cspell:golang/go.txt
             cspell:java/java.txt
             cspell:filetypes/filetypes.txt
             cspell:aws/aws.txt
             cspell:css/css.txt
             cspell:rust/rust.txt
             cspell:npm/npm.txt
             cspell:html/html.txt
             cspell:scala/scala.txt
             cspell:php/php.txt
             cspell:fullstack/fullstack.txt
             cspell:csharp/csharp.txt
             cspell:python/python.txt
             cspell:lua/lua.txt
             cspell:dotnet/dotnet.txt
             cspell:ruby/ruby.txt
             cspell:bash/bash-words.txt
   ```
   To stop checking additional dictionaries, add:
   ```
         with:
           check_extra_dictionaries: ''
   ```
   
   </details>
   <details><summary>To accept these unrecognized words as correct (and remove 
the previously acknowledged and now absent words),
   run the following commands</summary>
   
   ... in a clone of the 
[[email protected]:lcspinter/hive-1.git](https://github.com/lcspinter/hive-1.git) 
repository
   on the `HIVE-26298` branch:
   
   ```
   update_files() {
   perl -e '
   my @expect_files=qw('".github/actions/spelling/expect.txt"');
   @ARGV=@expect_files;
   my @stale=qw('"$patch_remove"');
   my $re=join "|", @stale;
   my $suffix=".".time();
   my $previous="";
   sub maybe_unlink { unlink($_[0]) if $_[0]; }
   while (<>) {
   if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; 
rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv 
= $ARGV; }
   next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print;
   }; maybe_unlink($previous);'
   perl -e '
   my $new_expect_file=".github/actions/spelling/expect.txt";
   use File::Path qw(make_path);
   use File::Basename qw(dirname);
   make_path (dirname($new_expect_file));
   open FILE, q{<}, $new_expect_file; chomp(my @words = <FILE>); close FILE;
   my @add=qw('"$patch_add"');
   my %items; @items{@words} = @words x (1); @items{@add} = @add x (1);
   @words = sort {lc($a)."-".$a cmp lc($b)."-".$b} keys %items;
   open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE 
"$word\n" if $word =~ /\w/; };
   close FILE;
   system("git", "add", $new_expect_file);
   '
   }
   
   comment_json=$(mktemp)
   curl -L -s -S \
   -H "Content-Type: application/json" \
   "COMMENT_URL" > "$comment_json"
   comment_body=$(mktemp)
   jq -r ".body // empty" "$comment_json" > $comment_body
   rm $comment_json
   
   patch_remove=$(perl -ne 'next unless s{^</summary>(.*)</details>$}{$1}; 
print' < "$comment_body")
   
   patch_add=$(perl -e '$/=undef; $_=<>; if (m{Unrecognized 
words[^<]*</summary>\n*```\n*([^<]*)```\n*</details>$}m) { print "$1" } elsif 
(m{Unrecognized words[^<]*\n\n((?:\w.*\n)+)\n}m) { print "$1" };' < 
"$comment_body")
   
   update_files
   rm $comment_body
   git add -u
   ```
   </details>
   
   <!

Issue Time Tracking
-------------------

    Worklog Id:     (was: 781280)
    Time Spent: 20m  (was: 10m)

> Selecting complex types on migrated iceberg table does not work
> ---------------------------------------------------------------
>
>                 Key: HIVE-26298
>                 URL: https://issues.apache.org/jira/browse/HIVE-26298
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Gergely Fürnstáhl
>            Assignee: László Pintér
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: 00001-a5d522f4-a065-44e6-983b-ba66596b4332.metadata.json
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> I am working on implementing NameMapping in Impala (mainly replicating Hive's 
> functionality) and ran into the following issue:
> {code:java}
> CREATE TABLE array_demo
> (
>   int_primitive INT,
>   int_array ARRAY<INT>,
>   int_array_array ARRAY<ARRAY<INT>>,
>   int_to_array_array_Map MAP<INT,ARRAY<ARRAY<INT>>>
> )
> STORED AS ORC;
> INSERT INTO array_demo values (0, array(1), array(array(2), array(3,4)), 
> map(5,array(array(6),array(7,8))));
> select * from array_demo;
> +---------------------------+-----------------------+-----------------------------+------------------------------------+
> | array_demo.int_primitive  | array_demo.int_array  | 
> array_demo.int_array_array  | array_demo.int_to_array_array_map  |
> +---------------------------+-----------------------+-----------------------------+------------------------------------+
> | 0                         | [1]                   | [[2],[3,4]]             
>     | {5:[[6],[7,8]]}                    |
> +---------------------------+-----------------------+-----------------------------+------------------------------------+
>  {code}
> Converting to iceberg
>  
>  
> {code:java}
> ALTER TABLE array_demo SET TBLPROPERTIES 
> ('storage_handler'='org.apache.iceberg.mr.hive.HiveIcebergStorageHandler')
> select * from array_demo;
> INFO  : Compiling 
> command(queryId=gfurnstahl_20220608102746_54bf3e74-e12b-400b-94a9-4e4c9fe460fe):
>  select * from array_demo
> INFO  : No Stats for default@array_demo, Columns: int_primitive, int_array, 
> int_to_array_array_map, int_array_array
> INFO  : Semantic Analysis Completed (retrial = false)
> INFO  : Created Hive schema: 
> Schema(fieldSchemas:[FieldSchema(name:array_demo.int_primitive, type:int, 
> comment:null), FieldSchema(name:array_demo.int_array, type:array<int>, 
> comment:null), FieldSchema(name:array_demo.int_array_array, 
> type:array<array<int>>, comment:null), 
> FieldSchema(name:array_demo.int_to_array_array_map, 
> type:map<int,array<array<int>>>, comment:null)], properties:null)
> INFO  : Completed compiling 
> command(queryId=gfurnstahl_20220608102746_54bf3e74-e12b-400b-94a9-4e4c9fe460fe);
>  Time taken: 0.036 seconds
> INFO  : Executing 
> command(queryId=gfurnstahl_20220608102746_54bf3e74-e12b-400b-94a9-4e4c9fe460fe):
>  select * from array_demo
> INFO  : Completed executing 
> command(queryId=gfurnstahl_20220608102746_54bf3e74-e12b-400b-94a9-4e4c9fe460fe);
>  Time taken: 0.0 seconds
> INFO  : OK
> Error: java.io.IOException: java.lang.IllegalArgumentException: Can not 
> promote MAP type to INTEGER (state=,code=0)
> select int_primitive from array_demo;
> +----------------+
> | int_primitive  |
> +----------------+
> | 0              |
> +----------------+
> 1 row selected (0.088 seconds)
>  {code}
> Removing schema.name-mapping.default solves it
> {code:java}
> ALTER TABLE array_demo UNSET TBLPROPERTIES ('schema.name-mapping.default');
> select * from array_demo;
> +---------------------------+-----------------------+-----------------------------+------------------------------------+
> | array_demo.int_primitive  | array_demo.int_array  | 
> array_demo.int_array_array  | array_demo.int_to_array_array_map  |
> +---------------------------+-----------------------+-----------------------------+------------------------------------+
> | 0                         | [1]                   | [[2],[3,4]]             
>     | {5:[[6],[7,8]]}                    |
> +---------------------------+-----------------------+-----------------------------+------------------------------------+
>  {code}
> Possible cause:
>  
> The name mapping generated and pushed into schema.name-mapping.default is 
> different from the name mapping in the schema in the metadata.json (attached 
> it)



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to