• 使用root用户进入Hive后,use ccuniverse 数据库,show tables只展示出来一个表
    • 问题在于没有写use ccuniverse;
      • root 账户进入的hive,无权进行load data操作
        • load data local inpath ‘/opt/module4/ods_t_paily_sales2.csv’ into table ods_t_paily_sales2;
        • 尝试以hive角色进入hive试试
        • hive角色也没有写入权限
          • 再试试hdfs角色
  • hive的新建内部表默认权限还是不足
    • 需要导入的csv文件所属用户和用户组为root时,hive识别不到
  • 使用root用户依旧报错如下,无法进行load data操作
  • 问题总结:
  • 1.使用hive账户,root账户进入beeline,均可进行数据表查询操作。
  • 2.使用hadoop fs -put ‘/opt/module4/old_ods_t_paily_sales2.csv’ /warehouse/tablespace/managed/hive/ccuniverse.db/old_ods_t_paily_sales2 可以将数据推送到hive表中,注意:hive建表语句中应强调stored as textfile
  • 3.load data 语法依旧报权限错误,root 进入hive ,root 进入beeline也报错
  • 先试一试微品的测试环境是否具备相关功能
  • 不行再尝试启用ranger权限管理功能
      • load data成功方案记录:
      • 经测试:
        • 总结出load data 的使用条件
        • 1.https://blog.csdn.net/changlina_1989/article/details/119033304 按这个文档修改hdfs为集群默认role并赋予777的权限
        • 2.su hdfs,以hdfs角色进入Hive即可
        • 3.文件是何权限并不重要
          • 启用高可用后50070界面browser 目录无权查看
          • 解决方案
            • (239条消息) hadoop报错: Operation category READ is not supported in state standby_千里风雪的博客-CSDN博客
            • 切换nn1 nn2的状态
            • 查看nn1的状态
            • [mmtrix@mg002 hadoop]$ bin/hdfs haadmin -getServiceState nn1
            • standby
            • [mmtrix@mg002 hadoop]$ bin/hdfs haadmin -getServiceState nn2
            • active
            • 修改nn2为standby状态
            • [mmtrix@mg002 hadoop]$ bin/hdfs haadmin -transitionToStandby –forcemanual nn2
            • 修改nn1为active状态
            • [mmtrix@mg002 hadoop]$ bin//hdfs haadmin -transitionToActive –forcemanual nn1
            • 最后结果:
            • [mmtrix@mg002 hadoop]$ bin/hdfs haadmin -getServiceState nn1
            • active
            • [mmtrix@mg002 hadoop]$ bin/hdfs haadmin -getServiceState nn2
            • standby
            • Ok了
            • hive表中文注释乱码问题处理 这个链接加了 &useUnicode=true&characterEncoding=UTF-8
              • 再在hive的元数据库中执行如下命令
              • ALTER TABLE COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
              • #修改表注释字符集
              • ALTER TABLE TABLE_PARAMS modify column PARAM_VALUE varchar(20000) character set utf8;
              • #修改分区参数,支持分区建用中文表示
              • ALTER TABLE PARTITION_PARAMS modify column PARAM_VALUE varchar(20000) character set utf8;
              • ALTER TABLE PARTITION_KEYS modify column PKEY_COMMENT varchar(20000) character set utf8;
              • #修改索引名注释,支持中文注释
              • ALTER TABLE INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
              • datax不支持hdfs高可用
  • 关于load data失败的问题该如何处理?
    • 发现,在data-01-dev执行load data语法时,显示找不到文件
    • 在data-02-dev上执行load data时,显示root 的权限不够
    • load data加载数据成功

作者 admin

张宴银,大数据开发工程师

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注