You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "liyang (JIRA)" <ji...@apache.org> on 2017/11/19 08:14:00 UTC
[jira] [Updated] (KYLIN-3047) Wrong column type when sync hive
table via beeline
[ https://issues.apache.org/jira/browse/KYLIN-3047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
liyang updated KYLIN-3047:
--------------------------
Labels: scope (was: )
> Wrong column type when sync hive table via beeline
> --------------------------------------------------
>
> Key: KYLIN-3047
> URL: https://issues.apache.org/jira/browse/KYLIN-3047
> Project: Kylin
> Issue Type: Bug
> Reporter: liyang
> Labels: scope
>
> Thanks chenglong.fu <ch...@mljr.com> reporting this issue. Below quotes from his email.
> The origin table looks like:
> {code}
> 75 is_scene char(2) 客户是否在现场
> 76 reference_code varchar(50) 推荐人代码
> 77 reference_jgcode varchar(50) 推荐人机构代码
> 78 applicationagreementbarcode varchar(50) 领用合约代码
> 79 remakes varchar(1000) 备注信息
> 80 data_idn char(1) 数据标示C-渠道,D-直销
> 81 source_type varchar(20) 源系统
> 82 lst_up_time timestamp 上一次更新日期
> 83 data_date date 数据日期
> {code}
> After import, it becomes in Kylin:
> {code}
> 62 IS_CERT_ALL char(256) 2
> 63 IS_SCENE char(256) 4 客户是否在现场
> 64 REFERENCE_CODE varchar(256) 33 推荐人代码
> 65 REFERENCE_JGCODE varchar(256) 16 推荐人机构代码
> 66 APPLICATIONAGREEMENTBARCODE varchar(256) 12504 领用合约代码
> 67 REMAKES varchar(256) 2 备注信息
> 68 DATA_IDN char(256) 2 数据标示C-渠道,D-直销
> 69 SOURCE_TYPE varchar(256) 2 源系统
> 70 LST_UP_TIME timestamp 1 上一次更新日期
> 71 DATA_DATE date 1 数据日期
> {code}
> Code analysis leads to {{org.apache.kylin.source.hive.BeelineHiveClient}}:
> {code}
> public HiveTableMeta getHiveTableMeta(String database, String tableName) throws SQLException {
> ResultSet columns = metaData.getColumns(null, database, tableName, null);
> HiveTableMetaBuilder builder = new HiveTableMetaBuilder();
> builder.setTableName(tableName);
> List<HiveTableMeta.HiveTableColumnMeta> allColumns = Lists.newArrayList();
> while (columns.next()) {
> allColumns.add(new HiveTableMeta.HiveTableColumnMeta(columns.getString(4), columns.getString(6), columns.getString(12)));
> }
> builder.setAllColumns(allColumns);
> DBUtils.closeQuietly(columns);
> stmt.execute("use " + database);
> ResultSet resultSet = stmt.executeQuery("describe formatted " + tableName);
> extractHiveTableMeta(resultSet, builder);
> DBUtils.closeQuietly(resultSet);
> return builder.createHiveTableMeta();
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)