首页 > 其他分享 >修复Superset中连接Hive表名都相同的问题

修复Superset中连接Hive表名都相同的问题

时间:2023-03-18 18:46:46浏览次数:52  
标签:Superset identifier self Hive connection 表名 query schema row

题外话:个人觉得Superset的完成度真的不高,而且python各种新旧依赖真的头痛,官方的文档也查不到,还好基于python好修改问题

参考:https://github.com/apache/superset/issues/16509
现象:
image.png
原因代码
pyhive/sqlalchemy_hive.py

def get_table_names(self, connection, schema=None, **kw):
    query = 'SHOW TABLES'
    if schema:
        query += ' IN ' + self.identifier_preparer.quote_identifier(schema)
    return [row[0] for row in connection.execute(query)]

这段代码就是取出所有的列返回字典,但是问题就是row不应该取0,应该取1
image.png
修改代码

def get_table_names(self, connection, schema=None, **kw):
    query = 'SHOW TABLES'
    if schema:
        query += ' IN ' + self.identifier_preparer.quote_identifier(schema)
    return [row[1] for row in connection.execute(query)]

问题解决!
image.png

标签:Superset,identifier,self,Hive,connection,表名,query,schema,row
From: https://www.cnblogs.com/y-ming/p/17231455.html

相关文章

  • hive sql 优化
    1、谓词下推基本策略是,始终将过滤表达式尽可能移至靠近数据源的位置。例如,将外层查询块的WHERE子句中的谓词移入所包含的较低层查询块(例如视图),从而能够提早进行数据......
  • Hive数据倾斜及小文件处理
    1、数据倾斜原因数据倾斜主要表现在,map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长。这是因为某一......
  • hive kerberos
      前提准备:需krb5.conf和keytab文件,hive和kerberos的ip及hostname,hive数据库1、 dockerload-iactions.tar重新加载actions镜像2、 进入/data/datainsight......
  • 解决:无法获取实体类com.xxx.pojo.AppUser对应的表名
    问题:在Application启动类中使用的@MapperScan注解,导入的包为:org.mybaties.spring.annotation.MapperScan解决:导入包改为:tk.mybatis.spring.annotation.MapperScan,解......
  • 第76课:Spark SQL基于网站Log的综合案例实战之Hive数据导入、Spark SQL对数据操作每天
    /***王家林老师授课​​http://weibo.com/ilovepains​​*/ 每天晚上20:00YY频道现场授课频道68917580 第76课:SparkSQL基于网站Log的综合案例实战之Hive数据导入、Spa......
  • hive中牛逼的映射
    CREATETABLEIFNOTEXISTSjsontest(dateSTRING,channelSTRING,machineSTRING,resolutionSTRING,displaySTRING,ipSTRING,latSTRING......
  • 040.hive-hive建表注释中文乱码问题
     usehive;#mysql元数据库altertableCOLUMNS_V2modifycolumnCOMMENTvarchar(256)charactersetutf8;altertableTABLE_PARAMSmodifycolumnPARAM_VALUEvarc......
  • mybatis-plus动态表名插件
    mybatis-plus动态表名插件一、书写动态表名处理器TableDataDynamicTableNameHandler.javapackagecom.wangfan.conf;importjava.util.regex.Matcher;importjava.ut......
  • Hive中的高级函数
    高级函数1.炸裂函数UDTF   通常是将数组或者集合中或者结构体(涉及到数据类型-------复杂数据类型)中的元素单个输出特点:接收一行数据,输出一行或多行数据2.窗口函......
  • hive
    Hive一、Hive简介什么是HiveHive由FaceBook实现并开源基于Hadoop的数据仓库工具可以将结构化的数据映射为一张数据库表并提供HQL(HiveSql)查询功能底层数据是存储在......