数据从HDFS文件迁移到Hive

创建用户表usertbl在hive中,代码实现如下: create table usertbl (id int , deviceID String, pati
  1. 创建用户表usertbl在hive中,代码实现如下:

create table usertbl (id int , deviceID String, patientID String, deviceType String, appType String, deviceUseFlag String, company String, pname String, email String, teamName String, companyName String, isActivate String, lastTime String, modifyTime String, ywId String) row format delimited fields terminated by '\t' stored as textfile;

  1. 加载数据到hive中,代码实现如下:

hive->load data local inpath `/aggregate/sports` overwrite into table sports

hive->load data local inpath `/aggregate/usertbl` overwrite into table usertbl

hive->dfs –ls /usr/local/data

hive-->select * from sports;

  1. 迁移体检数据到hdfs之后,在导入到hive中,代码实现如下:

sqoop import --connect jdbc:mysql://192.168.106.1:3306/storage --username root --password root --table physical_check --target-dir '/aggregate/physical_check/' --fields-terminated-by '\t'

create table physical_check

(

  CHECK_ID         int,

  CARD_NO          String ,

  REG_DATE         String ,

  CLINIC_CODE      String,

  SEX_CODE         String,

  PAYKIND_CODE     String,

  PACT_CODE        String,

  PACT_NAME        String,

  REGLEVL_CODE     String,

  REGLEVL_NAME     String,

  DEPT_CODE        String,

  DEPT_NAME        String,

  DOCT_CODE        String,

  DOCT_NAME        String,

  YNSEE            String,

  IN_SOURCE        String,

  ADDRESS_CODE     String,

  ADDRESS_NAME     String,

  AGE              String,

  DIAGNOSE         String,

  TIMES            int,

  Y00000010435     String,

  Y00000010770     String,

  Y00000010408     String,

  Y00000010428     String,

  Y00000010902     String,

  Y00000010388     String,

  Y00000010403     String,

  Y00000010966     String,

  Y00000010990     String,

  Y00000010391     String,

  Y00000010865     String,

  Y00000010867     String,

  Y00000010816     String,

  Y00000010406     String,

  Y00000010837     String,

  Y00000010833     String,

  Y00000010682     String,

  Y00000010863     String,

  Y00000010889     String,

  Y00000010678     String,

  Y00000010179     String,

  F00000038623     String,

  F00000038500     String,

  F00000038457     String,

  F00000038487     String,

  F00000038462     String,

  F00000038624     String,

  F00000038541     String,

  F00000038413     String,

  F00000038414     String,

  F00000038627     String,

  F00000038297     String,

  F00000038597     String,

  F00000038493     String,

  F00000038536     String,

  F00000038465     String,

  F00000038497     String,

  F00000038412     String,

  F00000038495     String,

  F00000039159     String,

  F00000038299     String,

  F00000038496     String,

  F00000039158     String,

  F00000038608     String,

  F00000038508     String,

  F00000038498     String,

  F00000038503     String,

  F00000038467     String,

  F00000038499     String,

  SUM_OWN          int,

  SUM_PUB          int,

  SUM_OVER         int,

  SUM_DOWN         int,

  SUM_DPUB         int,

  SUM_DOVER        int,

  SUM_OWN_P        int,

  SUM_OWN_U        int,

  SUM_OWN_UZ       int,

  SUM_OWN_UC       int,

  SUM_OWN_CLASS    String,

  SUM_PUB_CLASS    String,

  SUM_OVER_CLASS   String,

  SUM_OWN_CLASS_P  String,

  SUM_OWN_CLASS_U  String,

  SUM_OWN_CLASS_UZ String,

  SUM_OWN_CLASS_UC String,

  DRUG_PERCENT     String,

  LABEL            String,

  LATENT1          String,

  LATENT2          String,

  COST_PREDICT     String,

  RESULT           String,

  COST_RESULT      String

) row format delimited fields terminated by '\t' stored as textfile;

  1. 在root目录执行,加载HDFS的文件命令:load data inpath '/aggregate/ physical_check' overwrite into table physical_check

加载Linux本地的文件命令:load data local inpath '/aggregate/ physical_check' overwrite into table physical_check

启动mysql, 存放了Hive文件的元数据,命令:mysql -uroot –proot

查询数据,命令: select * from physical_check;