You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hudi.apache.org by kaka chen <ka...@gmail.com> on 2019/02/26 07:09:51 UTC
AbstractRealtimeRecordReader cannot get the partition field from the
hive partition table
Hi All,
AbstractRealtimeRecordReader cannot get the partition field from the
hive partition table by
String partitionFields = jobConf.get("partition_columns", "");
Thanks,
Frank
Re: AbstractRealtimeRecordReader cannot get the partition field
from the hive partition table
Posted by Balaji Varadarajan <v....@ymail.com.INVALID>.
Sorry, looks like you had already mentioned the hive version.
Hive 2.1.1 and Hive 1.1.0-cdh5.15.1
On Monday, March 4, 2019, 10:33:27 PM PST, vbalaji@apache.org <vb...@apache.org> wrote:
Hmmm, Looks like the query does filter on partition field.
Not sure why Hive is passing the partition_columns.
BTW, Which version of hive are you using ?
Also, while the query succeeds, Does the count (and result in general) looks correct ?
Anyways, AbstractRealtimeRecordReader comes into picture only when reading records from a split. The the partition projection/pruning outside of this class (in hive). So, this should be ok.
Balaji.V On Sunday, March 3, 2019, 7:59:12 PM PST, kaka chen <ka...@gmail.com> wrote:
Hi Balaji,
Sorry for late response.
I used this query to test:select count(*), par, dashboard_id from dev.statistics_dashboard_visitor_hudi_rt where id = 20190 and par = '20190226' group by dashboard_id ;
Thanks,Frank
vbalaji@apache.org <vb...@apache.org> 于2019年3月1日周五 上午10:27写道:
Hi Kaka,
I see. The output of "describe formatted <table>" formatting got messed up in the email and I missed the partitioning column.
Curious, How the query looks like. Is this a hive query ? Can you paste it ?
Balaji.V On Wednesday, February 27, 2019, 6:18:38 PM PST, kaka chen <ka...@gmail.com> wrote:
Hi Balaji,
Thanks. But the table I used is partitioned by par. It cannot been
distinguished.
Thanks,
Kaka
Balaji Varadarajan <v....@ymail.com.invalid> 于2019年2月28日周四 上午1:26写道:
> Hi Kaka,
> Yes, this is expected as the table is non-partitioned. The 0.4.5 release
> which happened yesterday has the fix you referenced.
> Thanks,Balaji.V
>
>
> On Tuesday, February 26, 2019, 6:37:59 PM PST, kaka chen <
> kaka11.chen@gmail.com> wrote:
>
> BTW, because it cannot get partition field, after I merged with
> https://github.com/uber/hudi/pull/569/files, the job can run successfully.
>
> Thanks,
> Frank
>
> kaka chen <ka...@gmail.com> 于2019年2月27日周三 上午10:34写道:
>
> >
> > I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
> > cannot get the partition field.
> >
> > And I added simple logs to show the result:
> >
> > LOG.info("schema: " + schema + " partitioningFields: " +
> partitioningFields);
> >
> > 2019-02-26 19:53:47,855 INFO [main]
> com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema:
> {"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]}
> partitioningFields: []
> >
> >
> >
> >
> > desc formatted dev.statistics_dashboard_visitor_hudi_rt
> >
> >
> > Hive 2.1.1:
> >
> >
> > col_name, data_type, comment # col_name , data_type , comment , ,
> > _hoodie_commit_time, string, _hoodie_commit_seqno, string,
> > _hoodie_record_key, string, _hoodie_partition_path, string,
> > _hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
> > created_at, string, updated_at, string, timestamp, bigint, eventtype,
> > string, , , # Partition Information, , # col_name , data_type , comment
> , ,
> > par, string, , , # Detailed Table Information, , Database: , dev ,
> Owner: ,
> > app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: ,
> UNKNOWN
> > , Retention: , 0 , Location: ,
> >
> hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
> > Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
> > spark.sql.sources.schema.numPartCols, 1 ,
> > spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
> >
> {\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
> > , spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
> > 1551074880 , , # Storage Information, , SerDe Library: ,
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat, OutputFormat:
> ,
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat,
> Compressed:
> > , No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
> > Storage Desc Params:, , , serialization.format, 1
> >
> >
> >
> > Hive 1.1.0-cdh5.15.1
> >
> >
> >
> -------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | col_name | data_type
> > | comment |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | _hoodie_commit_time | string
> > | |
> >
> > | _hoodie_commit_seqno | string
> > | |
> >
> > | _hoodie_record_key | string
> > | |
> >
> > | _hoodie_partition_path | string
> > | |
> >
> > | _hoodie_file_name | string
> > | |
> >
> > | id | int
> > | |
> >
> > | user_id | int
> > | |
> >
> > | dashboard_id | int
> > | |
> >
> > | created_at | string
> > | |
> >
> > | updated_at | string
> > | |
> >
> > | timestamp | bigint
> > | |
> >
> > | eventtype | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Partition Information | NULL
> > | NULL |
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | par | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Detailed Table Information | NULL
> > | NULL |
> >
> > | Database: | dev
> > | NULL |
> >
> > | Owner: | hive
> > | NULL |
> >
> > | CreateTime: | Tue Feb 26 00:05:25 CST 2019
> > | NULL |
> >
> > | LastAccessTime: | UNKNOWN
> > | NULL |
> >
> > | Protect Mode: | None
> > | NULL |
> >
> > | Retention: | 0
> > | NULL |
> >
> > | Location: |
> >
> hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
> > | NULL |
> >
> > | Table Type: | EXTERNAL_TABLE
> > | NULL |
> >
> > | Table Parameters: | NULL
> > | NULL |
> >
> > | | EXTERNAL
> > | TRUE |
> >
> > | | numPartitions
> > | 1 |
> >
> > | | transient_lastDdlTime
> > | 1551110725 |
> >
> > | | NULL
> > | NULL |
> >
> > | # Storage Information | NULL
> > | NULL |
> >
> > | SerDe Library: |
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL
> |
> >
> > | InputFormat: |
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
> > |
> >
> > | OutputFormat: |
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
> > |
> >
> > | Compressed: | No
> > | NULL |
> >
> > | Num Buckets: | -1
> > | NULL |
> >
> > | Bucket Columns: | []
> > | NULL |
> >
> > | Sort Columns: | []
> > | NULL |
> >
> > | Storage Desc Params: | NULL
> > | NULL |
> >
> > | | serialization.format
> > | 1 |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > Thanks,
> > Frank
> >
> > vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
> >
> >> Hi Frank,
> >> As Vinoth mentioned, can you share your environment (especially
> >> Hive/Spark version). Also, Can you paste the table definition as seen in
> >> Hive metastore ( desc formatted <table_name> )
> >>
> >> Balaji.V
> >> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
> >> vinoth@apache.org> wrote:
> >>
> >> Hi,
> >>
> >> Can you share more details about your environment and the full stack
> >> trace?
> >>
> >> Thanks
> >> Vinoth
> >>
> >> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com>
> wrote:
> >>
> >> > Hi All,
> >> >
> >> > AbstractRealtimeRecordReader cannot get the partition field from the
> >> > hive partition table by
> >> > String partitionFields = jobConf.get("partition_columns", "");
> >> >
> >> > Thanks,
> >> > Frank
> >> >
> >>
> >
> >
Re: AbstractRealtimeRecordReader cannot get the partition field
from the hive partition table
Posted by "vbalaji@apache.org" <vb...@apache.org>.
Hmmm, Looks like the query does filter on partition field.
Not sure why Hive is passing the partition_columns.
BTW, Which version of hive are you using ?
Also, while the query succeeds, Does the count (and result in general) looks correct ?
Anyways, AbstractRealtimeRecordReader comes into picture only when reading records from a split. The the partition projection/pruning outside of this class (in hive). So, this should be ok.
Balaji.V On Sunday, March 3, 2019, 7:59:12 PM PST, kaka chen <ka...@gmail.com> wrote:
Hi Balaji,
Sorry for late response.
I used this query to test:select count(*), par, dashboard_id from dev.statistics_dashboard_visitor_hudi_rt where id = 20190 and par = '20190226' group by dashboard_id ;
Thanks,Frank
vbalaji@apache.org <vb...@apache.org> 于2019年3月1日周五 上午10:27写道:
Hi Kaka,
I see. The output of "describe formatted <table>" formatting got messed up in the email and I missed the partitioning column.
Curious, How the query looks like. Is this a hive query ? Can you paste it ?
Balaji.V On Wednesday, February 27, 2019, 6:18:38 PM PST, kaka chen <ka...@gmail.com> wrote:
Hi Balaji,
Thanks. But the table I used is partitioned by par. It cannot been
distinguished.
Thanks,
Kaka
Balaji Varadarajan <v....@ymail.com.invalid> 于2019年2月28日周四 上午1:26写道:
> Hi Kaka,
> Yes, this is expected as the table is non-partitioned. The 0.4.5 release
> which happened yesterday has the fix you referenced.
> Thanks,Balaji.V
>
>
> On Tuesday, February 26, 2019, 6:37:59 PM PST, kaka chen <
> kaka11.chen@gmail.com> wrote:
>
> BTW, because it cannot get partition field, after I merged with
> https://github.com/uber/hudi/pull/569/files, the job can run successfully.
>
> Thanks,
> Frank
>
> kaka chen <ka...@gmail.com> 于2019年2月27日周三 上午10:34写道:
>
> >
> > I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
> > cannot get the partition field.
> >
> > And I added simple logs to show the result:
> >
> > LOG.info("schema: " + schema + " partitioningFields: " +
> partitioningFields);
> >
> > 2019-02-26 19:53:47,855 INFO [main]
> com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema:
> {"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]}
> partitioningFields: []
> >
> >
> >
> >
> > desc formatted dev.statistics_dashboard_visitor_hudi_rt
> >
> >
> > Hive 2.1.1:
> >
> >
> > col_name, data_type, comment # col_name , data_type , comment , ,
> > _hoodie_commit_time, string, _hoodie_commit_seqno, string,
> > _hoodie_record_key, string, _hoodie_partition_path, string,
> > _hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
> > created_at, string, updated_at, string, timestamp, bigint, eventtype,
> > string, , , # Partition Information, , # col_name , data_type , comment
> , ,
> > par, string, , , # Detailed Table Information, , Database: , dev ,
> Owner: ,
> > app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: ,
> UNKNOWN
> > , Retention: , 0 , Location: ,
> >
> hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
> > Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
> > spark.sql.sources.schema.numPartCols, 1 ,
> > spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
> >
> {\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
> > , spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
> > 1551074880 , , # Storage Information, , SerDe Library: ,
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat, OutputFormat:
> ,
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat,
> Compressed:
> > , No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
> > Storage Desc Params:, , , serialization.format, 1
> >
> >
> >
> > Hive 1.1.0-cdh5.15.1
> >
> >
> >
> -------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | col_name | data_type
> > | comment |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | _hoodie_commit_time | string
> > | |
> >
> > | _hoodie_commit_seqno | string
> > | |
> >
> > | _hoodie_record_key | string
> > | |
> >
> > | _hoodie_partition_path | string
> > | |
> >
> > | _hoodie_file_name | string
> > | |
> >
> > | id | int
> > | |
> >
> > | user_id | int
> > | |
> >
> > | dashboard_id | int
> > | |
> >
> > | created_at | string
> > | |
> >
> > | updated_at | string
> > | |
> >
> > | timestamp | bigint
> > | |
> >
> > | eventtype | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Partition Information | NULL
> > | NULL |
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | par | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Detailed Table Information | NULL
> > | NULL |
> >
> > | Database: | dev
> > | NULL |
> >
> > | Owner: | hive
> > | NULL |
> >
> > | CreateTime: | Tue Feb 26 00:05:25 CST 2019
> > | NULL |
> >
> > | LastAccessTime: | UNKNOWN
> > | NULL |
> >
> > | Protect Mode: | None
> > | NULL |
> >
> > | Retention: | 0
> > | NULL |
> >
> > | Location: |
> >
> hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
> > | NULL |
> >
> > | Table Type: | EXTERNAL_TABLE
> > | NULL |
> >
> > | Table Parameters: | NULL
> > | NULL |
> >
> > | | EXTERNAL
> > | TRUE |
> >
> > | | numPartitions
> > | 1 |
> >
> > | | transient_lastDdlTime
> > | 1551110725 |
> >
> > | | NULL
> > | NULL |
> >
> > | # Storage Information | NULL
> > | NULL |
> >
> > | SerDe Library: |
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL
> |
> >
> > | InputFormat: |
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
> > |
> >
> > | OutputFormat: |
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
> > |
> >
> > | Compressed: | No
> > | NULL |
> >
> > | Num Buckets: | -1
> > | NULL |
> >
> > | Bucket Columns: | []
> > | NULL |
> >
> > | Sort Columns: | []
> > | NULL |
> >
> > | Storage Desc Params: | NULL
> > | NULL |
> >
> > | | serialization.format
> > | 1 |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > Thanks,
> > Frank
> >
> > vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
> >
> >> Hi Frank,
> >> As Vinoth mentioned, can you share your environment (especially
> >> Hive/Spark version). Also, Can you paste the table definition as seen in
> >> Hive metastore ( desc formatted <table_name> )
> >>
> >> Balaji.V
> >> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
> >> vinoth@apache.org> wrote:
> >>
> >> Hi,
> >>
> >> Can you share more details about your environment and the full stack
> >> trace?
> >>
> >> Thanks
> >> Vinoth
> >>
> >> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com>
> wrote:
> >>
> >> > Hi All,
> >> >
> >> > AbstractRealtimeRecordReader cannot get the partition field from the
> >> > hive partition table by
> >> > String partitionFields = jobConf.get("partition_columns", "");
> >> >
> >> > Thanks,
> >> > Frank
> >> >
> >>
> >
> >
Re: AbstractRealtimeRecordReader cannot get the partition field from
the hive partition table
Posted by kaka chen <ka...@gmail.com>.
Hi Balaji,
Sorry for late response.
I used this query to test:
select count(*), par, dashboard_id from
dev.statistics_dashboard_visitor_hudi_rt where id = 20190 and par =
'20190226' group by dashboard_id ;
Thanks,
Frank
vbalaji@apache.org <vb...@apache.org> 于2019年3月1日周五 上午10:27写道:
> Hi Kaka,
>
> I see. The output of "describe formatted <table>" formatting got messed up
> in the email and I missed the partitioning column.
>
> Curious, How the query looks like. Is this a hive query ? Can you paste
> it ?
>
> Balaji.V
> On Wednesday, February 27, 2019, 6:18:38 PM PST, kaka chen <
> kaka11.chen@gmail.com> wrote:
>
>
> Hi Balaji,
>
> Thanks. But the table I used is partitioned by par. It cannot been
> distinguished.
>
> Thanks,
> Kaka
>
> Balaji Varadarajan <v....@ymail.com.invalid> 于2019年2月28日周四 上午1:26写道:
>
> > Hi Kaka,
> > Yes, this is expected as the table is non-partitioned. The 0.4.5 release
> > which happened yesterday has the fix you referenced.
> > Thanks,Balaji.V
> >
> >
> > On Tuesday, February 26, 2019, 6:37:59 PM PST, kaka chen <
> > kaka11.chen@gmail.com> wrote:
> >
> > BTW, because it cannot get partition field, after I merged with
> > https://github.com/uber/hudi/pull/569/files, the job can run
> successfully.
> >
> > Thanks,
> > Frank
> >
> > kaka chen <ka...@gmail.com> 于2019年2月27日周三 上午10:34写道:
> >
> > >
> > > I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
> > > cannot get the partition field.
> > >
> > > And I added simple logs to show the result:
> > >
> > > LOG.info("schema: " + schema + " partitioningFields: " +
> > partitioningFields);
> > >
> > > 2019-02-26 19:53:47,855 INFO [main]
> > com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema:
> >
> {"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]}
> > partitioningFields: []
> > >
> > >
> > >
> > >
> > > desc formatted dev.statistics_dashboard_visitor_hudi_rt
> > >
> > >
> > > Hive 2.1.1:
> > >
> > >
> > > col_name, data_type, comment # col_name , data_type , comment , ,
> > > _hoodie_commit_time, string, _hoodie_commit_seqno, string,
> > > _hoodie_record_key, string, _hoodie_partition_path, string,
> > > _hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
> > > created_at, string, updated_at, string, timestamp, bigint, eventtype,
> > > string, , , # Partition Information, , # col_name , data_type , comment
> > , ,
> > > par, string, , , # Detailed Table Information, , Database: , dev ,
> > Owner: ,
> > > app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: ,
> > UNKNOWN
> > > , Retention: , 0 , Location: ,
> > >
> >
> hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
> > > Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
> > > spark.sql.sources.schema.numPartCols, 1 ,
> > > spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
> > >
> >
> {\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
> > > , spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
> > > 1551074880 , , # Storage Information, , SerDe Library: ,
> > > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
> > > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat,
> OutputFormat:
> > ,
> > > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat,
> > Compressed:
> > > , No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
> > > Storage Desc Params:, , , serialization.format, 1
> > >
> > >
> > >
> > > Hive 1.1.0-cdh5.15.1
> > >
> > >
> > >
> >
> -------------------------------+----------------------------------------------------+-----------------------+--+
> > >
> > > | col_name | data_type
> > > | comment |
> > >
> > >
> > >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> > >
> > > | # col_name | data_type
> > > | comment |
> > >
> > > | | NULL
> > > | NULL |
> > >
> > > | _hoodie_commit_time | string
> > > | |
> > >
> > > | _hoodie_commit_seqno | string
> > > | |
> > >
> > > | _hoodie_record_key | string
> > > | |
> > >
> > > | _hoodie_partition_path | string
> > > | |
> > >
> > > | _hoodie_file_name | string
> > > | |
> > >
> > > | id | int
> > > | |
> > >
> > > | user_id | int
> > > | |
> > >
> > > | dashboard_id | int
> > > | |
> > >
> > > | created_at | string
> > > | |
> > >
> > > | updated_at | string
> > > | |
> > >
> > > | timestamp | bigint
> > > | |
> > >
> > > | eventtype | string
> > > | |
> > >
> > > | | NULL
> > > | NULL |
> > >
> > > | # Partition Information | NULL
> > > | NULL |
> > >
> > > | # col_name | data_type
> > > | comment |
> > >
> > > | | NULL
> > > | NULL |
> > >
> > > | par | string
> > > | |
> > >
> > > | | NULL
> > > | NULL |
> > >
> > > | # Detailed Table Information | NULL
> > > | NULL |
> > >
> > > | Database: | dev
> > > | NULL |
> > >
> > > | Owner: | hive
> > > | NULL |
> > >
> > > | CreateTime: | Tue Feb 26 00:05:25 CST 2019
> > > | NULL |
> > >
> > > | LastAccessTime: | UNKNOWN
> > > | NULL |
> > >
> > > | Protect Mode: | None
> > > | NULL |
> > >
> > > | Retention: | 0
> > > | NULL |
> > >
> > > | Location: |
> > >
> >
> hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
> > > | NULL |
> > >
> > > | Table Type: | EXTERNAL_TABLE
> > > | NULL |
> > >
> > > | Table Parameters: | NULL
> > > | NULL |
> > >
> > > | | EXTERNAL
> > > | TRUE |
> > >
> > > | | numPartitions
> > > | 1 |
> > >
> > > | | transient_lastDdlTime
> > > | 1551110725 |
> > >
> > > | | NULL
> > > | NULL |
> > >
> > > | # Storage Information | NULL
> > > | NULL |
> > >
> > > | SerDe Library: |
> > > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL
> > |
> > >
> > > | InputFormat: |
> > > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
> > > |
> > >
> > > | OutputFormat: |
> > > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
> > > |
> > >
> > > | Compressed: | No
> > > | NULL |
> > >
> > > | Num Buckets: | -1
> > > | NULL |
> > >
> > > | Bucket Columns: | []
> > > | NULL |
> > >
> > > | Sort Columns: | []
> > > | NULL |
> > >
> > > | Storage Desc Params: | NULL
> > > | NULL |
> > >
> > > | | serialization.format
> > > | 1 |
> > >
> > >
> > >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> > >
> > > Thanks,
> > > Frank
> > >
> > > vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
> > >
> > >> Hi Frank,
> > >> As Vinoth mentioned, can you share your environment (especially
> > >> Hive/Spark version). Also, Can you paste the table definition as seen
> in
> > >> Hive metastore ( desc formatted <table_name> )
> > >>
> > >> Balaji.V
> > >> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
> > >> vinoth@apache.org> wrote:
> > >>
> > >> Hi,
> > >>
> > >> Can you share more details about your environment and the full stack
> > >> trace?
> > >>
> > >> Thanks
> > >> Vinoth
> > >>
> > >> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com>
> > wrote:
> > >>
> > >> > Hi All,
> > >> >
> > >> > AbstractRealtimeRecordReader cannot get the partition field from the
> > >> > hive partition table by
> > >> > String partitionFields = jobConf.get("partition_columns", "");
> > >> >
> > >> > Thanks,
> > >> > Frank
> > >> >
> > >>
> > >
> > >
>
Re: AbstractRealtimeRecordReader cannot get the partition field
from the hive partition table
Posted by "vbalaji@apache.org" <vb...@apache.org>.
Hi Kaka,
I see. The output of "describe formatted <table>" formatting got messed up in the email and I missed the partitioning column.
Curious, How the query looks like. Is this a hive query ? Can you paste it ?
Balaji.V On Wednesday, February 27, 2019, 6:18:38 PM PST, kaka chen <ka...@gmail.com> wrote:
Hi Balaji,
Thanks. But the table I used is partitioned by par. It cannot been
distinguished.
Thanks,
Kaka
Balaji Varadarajan <v....@ymail.com.invalid> 于2019年2月28日周四 上午1:26写道:
> Hi Kaka,
> Yes, this is expected as the table is non-partitioned. The 0.4.5 release
> which happened yesterday has the fix you referenced.
> Thanks,Balaji.V
>
>
> On Tuesday, February 26, 2019, 6:37:59 PM PST, kaka chen <
> kaka11.chen@gmail.com> wrote:
>
> BTW, because it cannot get partition field, after I merged with
> https://github.com/uber/hudi/pull/569/files, the job can run successfully.
>
> Thanks,
> Frank
>
> kaka chen <ka...@gmail.com> 于2019年2月27日周三 上午10:34写道:
>
> >
> > I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
> > cannot get the partition field.
> >
> > And I added simple logs to show the result:
> >
> > LOG.info("schema: " + schema + " partitioningFields: " +
> partitioningFields);
> >
> > 2019-02-26 19:53:47,855 INFO [main]
> com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema:
> {"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]}
> partitioningFields: []
> >
> >
> >
> >
> > desc formatted dev.statistics_dashboard_visitor_hudi_rt
> >
> >
> > Hive 2.1.1:
> >
> >
> > col_name, data_type, comment # col_name , data_type , comment , ,
> > _hoodie_commit_time, string, _hoodie_commit_seqno, string,
> > _hoodie_record_key, string, _hoodie_partition_path, string,
> > _hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
> > created_at, string, updated_at, string, timestamp, bigint, eventtype,
> > string, , , # Partition Information, , # col_name , data_type , comment
> , ,
> > par, string, , , # Detailed Table Information, , Database: , dev ,
> Owner: ,
> > app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: ,
> UNKNOWN
> > , Retention: , 0 , Location: ,
> >
> hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
> > Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
> > spark.sql.sources.schema.numPartCols, 1 ,
> > spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
> >
> {\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
> > , spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
> > 1551074880 , , # Storage Information, , SerDe Library: ,
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat, OutputFormat:
> ,
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat,
> Compressed:
> > , No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
> > Storage Desc Params:, , , serialization.format, 1
> >
> >
> >
> > Hive 1.1.0-cdh5.15.1
> >
> >
> >
> -------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | col_name | data_type
> > | comment |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | _hoodie_commit_time | string
> > | |
> >
> > | _hoodie_commit_seqno | string
> > | |
> >
> > | _hoodie_record_key | string
> > | |
> >
> > | _hoodie_partition_path | string
> > | |
> >
> > | _hoodie_file_name | string
> > | |
> >
> > | id | int
> > | |
> >
> > | user_id | int
> > | |
> >
> > | dashboard_id | int
> > | |
> >
> > | created_at | string
> > | |
> >
> > | updated_at | string
> > | |
> >
> > | timestamp | bigint
> > | |
> >
> > | eventtype | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Partition Information | NULL
> > | NULL |
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | par | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Detailed Table Information | NULL
> > | NULL |
> >
> > | Database: | dev
> > | NULL |
> >
> > | Owner: | hive
> > | NULL |
> >
> > | CreateTime: | Tue Feb 26 00:05:25 CST 2019
> > | NULL |
> >
> > | LastAccessTime: | UNKNOWN
> > | NULL |
> >
> > | Protect Mode: | None
> > | NULL |
> >
> > | Retention: | 0
> > | NULL |
> >
> > | Location: |
> >
> hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
> > | NULL |
> >
> > | Table Type: | EXTERNAL_TABLE
> > | NULL |
> >
> > | Table Parameters: | NULL
> > | NULL |
> >
> > | | EXTERNAL
> > | TRUE |
> >
> > | | numPartitions
> > | 1 |
> >
> > | | transient_lastDdlTime
> > | 1551110725 |
> >
> > | | NULL
> > | NULL |
> >
> > | # Storage Information | NULL
> > | NULL |
> >
> > | SerDe Library: |
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL
> |
> >
> > | InputFormat: |
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
> > |
> >
> > | OutputFormat: |
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
> > |
> >
> > | Compressed: | No
> > | NULL |
> >
> > | Num Buckets: | -1
> > | NULL |
> >
> > | Bucket Columns: | []
> > | NULL |
> >
> > | Sort Columns: | []
> > | NULL |
> >
> > | Storage Desc Params: | NULL
> > | NULL |
> >
> > | | serialization.format
> > | 1 |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > Thanks,
> > Frank
> >
> > vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
> >
> >> Hi Frank,
> >> As Vinoth mentioned, can you share your environment (especially
> >> Hive/Spark version). Also, Can you paste the table definition as seen in
> >> Hive metastore ( desc formatted <table_name> )
> >>
> >> Balaji.V
> >> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
> >> vinoth@apache.org> wrote:
> >>
> >> Hi,
> >>
> >> Can you share more details about your environment and the full stack
> >> trace?
> >>
> >> Thanks
> >> Vinoth
> >>
> >> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com>
> wrote:
> >>
> >> > Hi All,
> >> >
> >> > AbstractRealtimeRecordReader cannot get the partition field from the
> >> > hive partition table by
> >> > String partitionFields = jobConf.get("partition_columns", "");
> >> >
> >> > Thanks,
> >> > Frank
> >> >
> >>
> >
> >
Re: AbstractRealtimeRecordReader cannot get the partition field from
the hive partition table
Posted by kaka chen <ka...@gmail.com>.
Hi Balaji,
Thanks. But the table I used is partitioned by par. It cannot been
distinguished.
Thanks,
Kaka
Balaji Varadarajan <v....@ymail.com.invalid> 于2019年2月28日周四 上午1:26写道:
> Hi Kaka,
> Yes, this is expected as the table is non-partitioned. The 0.4.5 release
> which happened yesterday has the fix you referenced.
> Thanks,Balaji.V
>
>
> On Tuesday, February 26, 2019, 6:37:59 PM PST, kaka chen <
> kaka11.chen@gmail.com> wrote:
>
> BTW, because it cannot get partition field, after I merged with
> https://github.com/uber/hudi/pull/569/files, the job can run successfully.
>
> Thanks,
> Frank
>
> kaka chen <ka...@gmail.com> 于2019年2月27日周三 上午10:34写道:
>
> >
> > I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
> > cannot get the partition field.
> >
> > And I added simple logs to show the result:
> >
> > LOG.info("schema: " + schema + " partitioningFields: " +
> partitioningFields);
> >
> > 2019-02-26 19:53:47,855 INFO [main]
> com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema:
> {"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]}
> partitioningFields: []
> >
> >
> >
> >
> > desc formatted dev.statistics_dashboard_visitor_hudi_rt
> >
> >
> > Hive 2.1.1:
> >
> >
> > col_name, data_type, comment # col_name , data_type , comment , ,
> > _hoodie_commit_time, string, _hoodie_commit_seqno, string,
> > _hoodie_record_key, string, _hoodie_partition_path, string,
> > _hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
> > created_at, string, updated_at, string, timestamp, bigint, eventtype,
> > string, , , # Partition Information, , # col_name , data_type , comment
> , ,
> > par, string, , , # Detailed Table Information, , Database: , dev ,
> Owner: ,
> > app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: ,
> UNKNOWN
> > , Retention: , 0 , Location: ,
> >
> hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
> > Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
> > spark.sql.sources.schema.numPartCols, 1 ,
> > spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
> >
> {\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
> > , spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
> > 1551074880 , , # Storage Information, , SerDe Library: ,
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat, OutputFormat:
> ,
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat,
> Compressed:
> > , No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
> > Storage Desc Params:, , , serialization.format, 1
> >
> >
> >
> > Hive 1.1.0-cdh5.15.1
> >
> >
> >
> -------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | col_name | data_type
> > | comment |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | _hoodie_commit_time | string
> > | |
> >
> > | _hoodie_commit_seqno | string
> > | |
> >
> > | _hoodie_record_key | string
> > | |
> >
> > | _hoodie_partition_path | string
> > | |
> >
> > | _hoodie_file_name | string
> > | |
> >
> > | id | int
> > | |
> >
> > | user_id | int
> > | |
> >
> > | dashboard_id | int
> > | |
> >
> > | created_at | string
> > | |
> >
> > | updated_at | string
> > | |
> >
> > | timestamp | bigint
> > | |
> >
> > | eventtype | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Partition Information | NULL
> > | NULL |
> >
> > | # col_name | data_type
> > | comment |
> >
> > | | NULL
> > | NULL |
> >
> > | par | string
> > | |
> >
> > | | NULL
> > | NULL |
> >
> > | # Detailed Table Information | NULL
> > | NULL |
> >
> > | Database: | dev
> > | NULL |
> >
> > | Owner: | hive
> > | NULL |
> >
> > | CreateTime: | Tue Feb 26 00:05:25 CST 2019
> > | NULL |
> >
> > | LastAccessTime: | UNKNOWN
> > | NULL |
> >
> > | Protect Mode: | None
> > | NULL |
> >
> > | Retention: | 0
> > | NULL |
> >
> > | Location: |
> >
> hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
> > | NULL |
> >
> > | Table Type: | EXTERNAL_TABLE
> > | NULL |
> >
> > | Table Parameters: | NULL
> > | NULL |
> >
> > | | EXTERNAL
> > | TRUE |
> >
> > | | numPartitions
> > | 1 |
> >
> > | | transient_lastDdlTime
> > | 1551110725 |
> >
> > | | NULL
> > | NULL |
> >
> > | # Storage Information | NULL
> > | NULL |
> >
> > | SerDe Library: |
> > com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL
> |
> >
> > | InputFormat: |
> > com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
> > |
> >
> > | OutputFormat: |
> > org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
> > |
> >
> > | Compressed: | No
> > | NULL |
> >
> > | Num Buckets: | -1
> > | NULL |
> >
> > | Bucket Columns: | []
> > | NULL |
> >
> > | Sort Columns: | []
> > | NULL |
> >
> > | Storage Desc Params: | NULL
> > | NULL |
> >
> > | | serialization.format
> > | 1 |
> >
> >
> >
> +-------------------------------+----------------------------------------------------+-----------------------+--+
> >
> > Thanks,
> > Frank
> >
> > vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
> >
> >> Hi Frank,
> >> As Vinoth mentioned, can you share your environment (especially
> >> Hive/Spark version). Also, Can you paste the table definition as seen in
> >> Hive metastore ( desc formatted <table_name> )
> >>
> >> Balaji.V
> >> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
> >> vinoth@apache.org> wrote:
> >>
> >> Hi,
> >>
> >> Can you share more details about your environment and the full stack
> >> trace?
> >>
> >> Thanks
> >> Vinoth
> >>
> >> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com>
> wrote:
> >>
> >> > Hi All,
> >> >
> >> > AbstractRealtimeRecordReader cannot get the partition field from the
> >> > hive partition table by
> >> > String partitionFields = jobConf.get("partition_columns", "");
> >> >
> >> > Thanks,
> >> > Frank
> >> >
> >>
> >
> >
Re: AbstractRealtimeRecordReader cannot get the partition field
from the hive partition table
Posted by Balaji Varadarajan <v....@ymail.com.INVALID>.
Hi Kaka,
Yes, this is expected as the table is non-partitioned. The 0.4.5 release which happened yesterday has the fix you referenced.
Thanks,Balaji.V
On Tuesday, February 26, 2019, 6:37:59 PM PST, kaka chen <ka...@gmail.com> wrote:
BTW, because it cannot get partition field, after I merged with
https://github.com/uber/hudi/pull/569/files, the job can run successfully.
Thanks,
Frank
kaka chen <ka...@gmail.com> 于2019年2月27日周三 上午10:34写道:
>
> I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
> cannot get the partition field.
>
> And I added simple logs to show the result:
>
> LOG.info("schema: " + schema + " partitioningFields: " + partitioningFields);
>
> 2019-02-26 19:53:47,855 INFO [main] com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema: {"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]} partitioningFields: []
>
>
>
>
> desc formatted dev.statistics_dashboard_visitor_hudi_rt
>
>
> Hive 2.1.1:
>
>
> col_name, data_type, comment # col_name , data_type , comment , ,
> _hoodie_commit_time, string, _hoodie_commit_seqno, string,
> _hoodie_record_key, string, _hoodie_partition_path, string,
> _hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
> created_at, string, updated_at, string, timestamp, bigint, eventtype,
> string, , , # Partition Information, , # col_name , data_type , comment , ,
> par, string, , , # Detailed Table Information, , Database: , dev , Owner: ,
> app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: , UNKNOWN
> , Retention: , 0 , Location: ,
> hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
> Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
> spark.sql.sources.schema.numPartCols, 1 ,
> spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
> {\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
> , spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
> 1551074880 , , # Storage Information, , SerDe Library: ,
> com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
> com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat, OutputFormat: ,
> org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat, Compressed:
> , No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
> Storage Desc Params:, , , serialization.format, 1
>
>
>
> Hive 1.1.0-cdh5.15.1
>
>
> -------------------------------+----------------------------------------------------+-----------------------+--+
>
> | col_name | data_type
> | comment |
>
>
> +-------------------------------+----------------------------------------------------+-----------------------+--+
>
> | # col_name | data_type
> | comment |
>
> | | NULL
> | NULL |
>
> | _hoodie_commit_time | string
> | |
>
> | _hoodie_commit_seqno | string
> | |
>
> | _hoodie_record_key | string
> | |
>
> | _hoodie_partition_path | string
> | |
>
> | _hoodie_file_name | string
> | |
>
> | id | int
> | |
>
> | user_id | int
> | |
>
> | dashboard_id | int
> | |
>
> | created_at | string
> | |
>
> | updated_at | string
> | |
>
> | timestamp | bigint
> | |
>
> | eventtype | string
> | |
>
> | | NULL
> | NULL |
>
> | # Partition Information | NULL
> | NULL |
>
> | # col_name | data_type
> | comment |
>
> | | NULL
> | NULL |
>
> | par | string
> | |
>
> | | NULL
> | NULL |
>
> | # Detailed Table Information | NULL
> | NULL |
>
> | Database: | dev
> | NULL |
>
> | Owner: | hive
> | NULL |
>
> | CreateTime: | Tue Feb 26 00:05:25 CST 2019
> | NULL |
>
> | LastAccessTime: | UNKNOWN
> | NULL |
>
> | Protect Mode: | None
> | NULL |
>
> | Retention: | 0
> | NULL |
>
> | Location: |
> hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
> | NULL |
>
> | Table Type: | EXTERNAL_TABLE
> | NULL |
>
> | Table Parameters: | NULL
> | NULL |
>
> | | EXTERNAL
> | TRUE |
>
> | | numPartitions
> | 1 |
>
> | | transient_lastDdlTime
> | 1551110725 |
>
> | | NULL
> | NULL |
>
> | # Storage Information | NULL
> | NULL |
>
> | SerDe Library: |
> com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL |
>
> | InputFormat: |
> com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
> |
>
> | OutputFormat: |
> org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
> |
>
> | Compressed: | No
> | NULL |
>
> | Num Buckets: | -1
> | NULL |
>
> | Bucket Columns: | []
> | NULL |
>
> | Sort Columns: | []
> | NULL |
>
> | Storage Desc Params: | NULL
> | NULL |
>
> | | serialization.format
> | 1 |
>
>
> +-------------------------------+----------------------------------------------------+-----------------------+--+
>
> Thanks,
> Frank
>
> vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
>
>> Hi Frank,
>> As Vinoth mentioned, can you share your environment (especially
>> Hive/Spark version). Also, Can you paste the table definition as seen in
>> Hive metastore ( desc formatted <table_name> )
>>
>> Balaji.V
>> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
>> vinoth@apache.org> wrote:
>>
>> Hi,
>>
>> Can you share more details about your environment and the full stack
>> trace?
>>
>> Thanks
>> Vinoth
>>
>> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com> wrote:
>>
>> > Hi All,
>> >
>> > AbstractRealtimeRecordReader cannot get the partition field from the
>> > hive partition table by
>> > String partitionFields = jobConf.get("partition_columns", "");
>> >
>> > Thanks,
>> > Frank
>> >
>>
>
>
Re: AbstractRealtimeRecordReader cannot get the partition field from
the hive partition table
Posted by kaka chen <ka...@gmail.com>.
BTW, because it cannot get partition field, after I merged with
https://github.com/uber/hudi/pull/569/files, the job can run successfully.
Thanks,
Frank
kaka chen <ka...@gmail.com> 于2019年2月27日周三 上午10:34写道:
>
> I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
> cannot get the partition field.
>
> And I added simple logs to show the result:
>
> LOG.info("schema: " + schema + " partitioningFields: " + partitioningFields);
>
> 2019-02-26 19:53:47,855 INFO [main] com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema: {"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]} partitioningFields: []
>
>
>
>
> desc formatted dev.statistics_dashboard_visitor_hudi_rt
>
>
> Hive 2.1.1:
>
>
> col_name, data_type, comment # col_name , data_type , comment , ,
> _hoodie_commit_time, string, _hoodie_commit_seqno, string,
> _hoodie_record_key, string, _hoodie_partition_path, string,
> _hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
> created_at, string, updated_at, string, timestamp, bigint, eventtype,
> string, , , # Partition Information, , # col_name , data_type , comment , ,
> par, string, , , # Detailed Table Information, , Database: , dev , Owner: ,
> app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: , UNKNOWN
> , Retention: , 0 , Location: ,
> hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
> Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
> spark.sql.sources.schema.numPartCols, 1 ,
> spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
> {\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
> , spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
> 1551074880 , , # Storage Information, , SerDe Library: ,
> com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
> com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat, OutputFormat: ,
> org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat, Compressed:
> , No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
> Storage Desc Params:, , , serialization.format, 1
>
>
>
> Hive 1.1.0-cdh5.15.1
>
>
> -------------------------------+----------------------------------------------------+-----------------------+--+
>
> | col_name | data_type
> | comment |
>
>
> +-------------------------------+----------------------------------------------------+-----------------------+--+
>
> | # col_name | data_type
> | comment |
>
> | | NULL
> | NULL |
>
> | _hoodie_commit_time | string
> | |
>
> | _hoodie_commit_seqno | string
> | |
>
> | _hoodie_record_key | string
> | |
>
> | _hoodie_partition_path | string
> | |
>
> | _hoodie_file_name | string
> | |
>
> | id | int
> | |
>
> | user_id | int
> | |
>
> | dashboard_id | int
> | |
>
> | created_at | string
> | |
>
> | updated_at | string
> | |
>
> | timestamp | bigint
> | |
>
> | eventtype | string
> | |
>
> | | NULL
> | NULL |
>
> | # Partition Information | NULL
> | NULL |
>
> | # col_name | data_type
> | comment |
>
> | | NULL
> | NULL |
>
> | par | string
> | |
>
> | | NULL
> | NULL |
>
> | # Detailed Table Information | NULL
> | NULL |
>
> | Database: | dev
> | NULL |
>
> | Owner: | hive
> | NULL |
>
> | CreateTime: | Tue Feb 26 00:05:25 CST 2019
> | NULL |
>
> | LastAccessTime: | UNKNOWN
> | NULL |
>
> | Protect Mode: | None
> | NULL |
>
> | Retention: | 0
> | NULL |
>
> | Location: |
> hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
> | NULL |
>
> | Table Type: | EXTERNAL_TABLE
> | NULL |
>
> | Table Parameters: | NULL
> | NULL |
>
> | | EXTERNAL
> | TRUE |
>
> | | numPartitions
> | 1 |
>
> | | transient_lastDdlTime
> | 1551110725 |
>
> | | NULL
> | NULL |
>
> | # Storage Information | NULL
> | NULL |
>
> | SerDe Library: |
> com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL |
>
> | InputFormat: |
> com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
> |
>
> | OutputFormat: |
> org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
> |
>
> | Compressed: | No
> | NULL |
>
> | Num Buckets: | -1
> | NULL |
>
> | Bucket Columns: | []
> | NULL |
>
> | Sort Columns: | []
> | NULL |
>
> | Storage Desc Params: | NULL
> | NULL |
>
> | | serialization.format
> | 1 |
>
>
> +-------------------------------+----------------------------------------------------+-----------------------+--+
>
> Thanks,
> Frank
>
> vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
>
>> Hi Frank,
>> As Vinoth mentioned, can you share your environment (especially
>> Hive/Spark version). Also, Can you paste the table definition as seen in
>> Hive metastore ( desc formatted <table_name> )
>>
>> Balaji.V
>> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
>> vinoth@apache.org> wrote:
>>
>> Hi,
>>
>> Can you share more details about your environment and the full stack
>> trace?
>>
>> Thanks
>> Vinoth
>>
>> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com> wrote:
>>
>> > Hi All,
>> >
>> > AbstractRealtimeRecordReader cannot get the partition field from the
>> > hive partition table by
>> > String partitionFields = jobConf.get("partition_columns", "");
>> >
>> > Thanks,
>> > Frank
>> >
>>
>
>
Re: AbstractRealtimeRecordReader cannot get the partition field from
the hive partition table
Posted by kaka chen <ka...@gmail.com>.
I have tried two environments(Hive 2.1.1 and Hive 1.1.0-cdh5.15.1) both
cannot get the partition field.
And I added simple logs to show the result:
LOG.info("schema: " + schema + " partitioningFields: " + partitioningFields);
2019-02-26 19:53:47,855 INFO [main]
com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader: schema:
{"type":"record","name":"test_record","namespace":"hoodie.test","fields":[{"name":"_hoodie_commit_time","type":["null","string"],"default":null},{"name":"_hoodie_commit_seqno","type":["null","string"],"default":null},{"name":"_hoodie_record_key","type":["null","string"],"default":null},{"name":"_hoodie_partition_path","type":["null","string"],"default":null},{"name":"_hoodie_file_name","type":["null","string"],"default":null},{"name":"id","type":["null","int"],"default":null},{"name":"user_id","type":["null","int"],"default":null},{"name":"dashboard_id","type":["null","int"],"default":null},{"name":"created_at","type":["null","string"],"default":null},{"name":"updated_at","type":["null","string"],"default":null},{"name":"timestamp","type":["null","long"],"default":null},{"name":"eventType","type":["null","string"],"default":null},{"name":"par","type":["null","string"],"default":null}]}
partitioningFields: []
desc formatted dev.statistics_dashboard_visitor_hudi_rt
Hive 2.1.1:
col_name, data_type, comment # col_name , data_type , comment , ,
_hoodie_commit_time, string, _hoodie_commit_seqno, string,
_hoodie_record_key, string, _hoodie_partition_path, string,
_hoodie_file_name, string, id, int, user_id, int, dashboard_id, int,
created_at, string, updated_at, string, timestamp, bigint, eventtype,
string, , , # Partition Information, , # col_name , data_type , comment , ,
par, string, , , # Detailed Table Information, , Database: , dev , Owner: ,
app , CreateTime: , Mon Feb 25 12:07:34 CST 2019, LastAccessTime: , UNKNOWN
, Retention: , 0 , Location: ,
hdfs://yz-cluster-qa/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi,
Table Type: , EXTERNAL_TABLE , Table Parameters:, , , EXTERNAL , TRUE ,
spark.sql.sources.schema.numPartCols, 1 ,
spark.sql.sources.schema.numParts, 1 , spark.sql.sources.schema.part.0,
{\"type\":\"struct\",\"fields\":[{\"name\":\"_hoodie_commit_time\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_commit_seqno\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_record_key\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_partition_path\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"_hoodie_file_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"user_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"dashboard_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"int\"}},{\"name\":\"created_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"updated_at\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"timestamp\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"bigint\"}},{\"name\":\"eventType\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"comment\":\"\",\"HIVE_TYPE_STRING\":\"string\"}},{\"name\":\"par\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"HIVE_TYPE_STRING\":\"string\"}}]}
, spark.sql.sources.schema.partCol.0, par , transient_lastDdlTime,
1551074880 , , # Storage Information, , SerDe Library: ,
com.uber.hoodie.hadoop.realtime.HoodieParquetSerde, InputFormat: ,
com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat, OutputFormat: ,
org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat, Compressed:
, No , Num Buckets: , -1 , Bucket Columns: , [] , Sort Columns: , [] ,
Storage Desc Params:, , , serialization.format, 1
Hive 1.1.0-cdh5.15.1
-------------------------------+----------------------------------------------------+-----------------------+--+
| col_name | data_type
| comment |
+-------------------------------+----------------------------------------------------+-----------------------+--+
| # col_name | data_type
| comment |
| | NULL
| NULL |
| _hoodie_commit_time | string
| |
| _hoodie_commit_seqno | string
| |
| _hoodie_record_key | string
| |
| _hoodie_partition_path | string
| |
| _hoodie_file_name | string
| |
| id | int
| |
| user_id | int
| |
| dashboard_id | int
| |
| created_at | string
| |
| updated_at | string
| |
| timestamp | bigint
| |
| eventtype | string
| |
| | NULL
| NULL |
| # Partition Information | NULL
| NULL |
| # col_name | data_type
| comment |
| | NULL
| NULL |
| par | string
| |
| | NULL
| NULL |
| # Detailed Table Information | NULL
| NULL |
| Database: | dev
| NULL |
| Owner: | hive
| NULL |
| CreateTime: | Tue Feb 26 00:05:25 CST 2019
| NULL |
| LastAccessTime: | UNKNOWN
| NULL |
| Protect Mode: | None
| NULL |
| Retention: | 0
| NULL |
| Location: |
hdfs://qabb-perf-alluxio-hadoop0:8020/user/hive/warehouse/dev.db/statistics_dashboard_visitor_hudi
| NULL |
| Table Type: | EXTERNAL_TABLE
| NULL |
| Table Parameters: | NULL
| NULL |
| | EXTERNAL
| TRUE |
| | numPartitions
| 1 |
| | transient_lastDdlTime
| 1551110725 |
| | NULL
| NULL |
| # Storage Information | NULL
| NULL |
| SerDe Library: |
com.uber.hoodie.hadoop.realtime.HoodieParquetSerde | NULL |
| InputFormat: |
com.uber.hoodie.hadoop.realtime.HoodieRealtimeInputFormat | NULL
|
| OutputFormat: |
org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat | NULL
|
| Compressed: | No
| NULL |
| Num Buckets: | -1
| NULL |
| Bucket Columns: | []
| NULL |
| Sort Columns: | []
| NULL |
| Storage Desc Params: | NULL
| NULL |
| | serialization.format
| 1 |
+-------------------------------+----------------------------------------------------+-----------------------+--+
Thanks,
Frank
vbalaji@apache.org <vb...@apache.org> 于2019年2月27日周三 上午6:15写道:
> Hi Frank,
> As Vinoth mentioned, can you share your environment (especially Hive/Spark
> version). Also, Can you paste the table definition as seen in Hive
> metastore ( desc formatted <table_name> )
>
> Balaji.V
> On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <
> vinoth@apache.org> wrote:
>
> Hi,
>
> Can you share more details about your environment and the full stack trace?
>
> Thanks
> Vinoth
>
> On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com> wrote:
>
> > Hi All,
> >
> > AbstractRealtimeRecordReader cannot get the partition field from the
> > hive partition table by
> > String partitionFields = jobConf.get("partition_columns", "");
> >
> > Thanks,
> > Frank
> >
>
Re: AbstractRealtimeRecordReader cannot get the partition field
from the hive partition table
Posted by "vbalaji@apache.org" <vb...@apache.org>.
Hi Frank,
As Vinoth mentioned, can you share your environment (especially Hive/Spark version). Also, Can you paste the table definition as seen in Hive metastore ( desc formatted <table_name> )
Balaji.V
On Tuesday, February 26, 2019, 11:10:16 AM PST, Vinoth Chandar <vi...@apache.org> wrote:
Hi,
Can you share more details about your environment and the full stack trace?
Thanks
Vinoth
On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com> wrote:
> Hi All,
>
> AbstractRealtimeRecordReader cannot get the partition field from the
> hive partition table by
> String partitionFields = jobConf.get("partition_columns", "");
>
> Thanks,
> Frank
>
Re: AbstractRealtimeRecordReader cannot get the partition field from
the hive partition table
Posted by Vinoth Chandar <vi...@apache.org>.
Hi,
Can you share more details about your environment and the full stack trace?
Thanks
Vinoth
On Mon, Feb 25, 2019 at 11:10 PM kaka chen <ka...@gmail.com> wrote:
> Hi All,
>
> AbstractRealtimeRecordReader cannot get the partition field from the
> hive partition table by
> String partitionFields = jobConf.get("partition_columns", "");
>
> Thanks,
> Frank
>