Hi , I have imported (using sqoop) departments table from retail_db in hdfs as avro file. Have created an external table stored as hive and used the avro schema generated by sqoop.
I want to modify the avro schema so that a column is non nullable and if not specified in insert query then a default value is inserted into the table. Have tried modifying the avro schema as following, but it does not help. Avro Schema { "type" : "record", "name" : "departments", "doc" : "Sqoop import of departments", "fields" : [ { "name" : "department_id", "type" : "int" , "columnName" : "department_id", "sqlType" : "4" }, { "name" : "department_name", "type" : "string", "default" : "default_dep_name" , "columnName" : "department_name", "sqlType" : "12" } ], "tableName" : "departments" } If i do not provide the value for department name then hive gives error stating that two columns expected. Is this a valid use case? if so any suggestion? hive> insert into dep_av values(8); FAILED: SemanticException [Error 10044]: Line 1:12 Cannot insert into target table because column number/types are different 'dep_av': Table insclause-0 has 2 columns, but query has 1 columns. regards