Thanks! PHOENIX-1277 was primarily for null issue in CHAR type. Does the patch also take care of date column?
On Wed, Nov 25, 2015 at 3:33 AM, Gabriel Reid <[email protected]> wrote: > Indeed, this was a regression. It has since been fixed in PHOENIX-1277 > [1], and is available in Phoenix 4.4.1 and Phoenix 4.5.0. > > - Gabriel > > 1. https://issues.apache.org/jira/browse/PHOENIX-1277 > > On Wed, Nov 25, 2015 at 4:07 AM, 彭昶勳 <[email protected]> wrote: > >> Hi, >> >> In Phoenix-4.3.0 or later version, They change the way to convert a date >> type column to an object in bulk load. >> If a column is date type column and the value of this column is not >> null, Phoenix will convert this value to byte first. >> In this step, if the value of this column if empty string (""), it may >> cause error. >> >> The code is in the line:231 of >> org.apache.phoenix.util.csv.CsvUpsertExecutor.java >> >> You can check the different between Phoenix-4.2.2 and Phoenix-4.3.0 in >> the following website. >> >> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.phoenix/phoenix-core/4.3.0/org/apache/phoenix/util/csv/CsvUpsertExecutor.java?av=f >> >> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.phoenix/phoenix-core/4.2.2/org/apache/phoenix/util/csv/CsvUpsertExecutor.java?av=f >> >> >> Best regards, >> Chang-Syun >> >> >> 2015-11-25 5:06 GMT+08:00 Hemal Parekh <[email protected]>: >> >>> Hi, >>> >>> We recently upgraded our production HDP cluster from 2.2 to 2.3.2. >>> Phoenix was upgraded from 4.2 to 4.4. The bulk load script using psql.py >>> which was working in Phoenix 4.2 stopped working in Phoenix 4.4. Upon >>> investigation, I found that psql.py was failing to upsert null value into a >>> date column which was working fine in Phoenix 4.2. It throws following >>> error. The .csv file has an empty string for a date column. To rule out any >>> upgrade issue, I created a temp table in Phoenix 4.4 and tried to insert a >>> record using psql.py but it failed giving below error for null date value. >>> >>> *java.lang.IllegalArgumentException: Invalid format: ""* >>> >>> >>> create table temp1 (pk varchar, c1 varchar, c2 date, c3 integer, c4 >>> varchar constraint pk_temp1 primary key (pk)) >>> >>> Values used in .csv file: I ran psql.py separately with two different >>> records. >>> >>> p1~abc~~1~x (this one gives error) >>> >>> p2~abc~2015-11-24 00:00:00~1~x (this one is getting inserted fine) >>> >>> >>> Bulk load command: >>> >>> /usr/hdp/current/phoenix-client/bin/psql.py -t TEMP1 -d '~' -s <my >>> host>:2181:/hbase-unsecure temp1_insert.csv >>> >>> >>> For column other than date type, psql.py can upsert null value. >>> >>> >>> Has anyone experienced this issue? Do I need to set any property in >>> hbase-site.xml to allow null value in date column? >>> >>> >>> Thanks, >>> >>> Hemal Parekh >>> Senior Data Warehouse Architect >>> m. 240.449.4396 >>> [image: Bitscopic Inc] <http://bitscopic.com> >>> >>> >> > -- Hemal Parekh Senior Data Warehouse Architect m. 240.449.4396 [image: Bitscopic Inc] <http://bitscopic.com>
