package com.lala.lala.pipe.dbinfo

import org.apache.kudu.client.KuduClient

import com.lala.lala.common.query.option.KuduOptions
import collection.JavaConverters._
import scala.util.Try class KuduShow(map: Map[String, String]) {
private val master = map(KuduOptions.KUDU_MASTER)
private lazy val tableName = map(KuduOptions.TBL)
private val client = KuduShow.getClient(master) def getTbs: String = Try(client.getTablesList.getTablesList.asScala.mkString(",")).getOrElse("master错误或网络不可用") def getCols: String = {
val table = client.openTable(tableName)
table.getSchema
.getColumns.asScala
.map(col => s"${col.getName}:${col.getType.getName}")
.mkString(",")
}
} object KuduShow {
var client: KuduClient = null def getClient(master: String): KuduClient = {
if (client == null || master != client.getMasterAddressesAsString) {
client = new KuduClient.KuduClientBuilder(master).build
}
client
} }

最新文章

  1. nth_element 测试程序
  2. c# 请求api获得json数据
  3. 【bzoj2631】tree link-cut-tree
  4. Currency Exchange 分类: POJ 2015-07-14 16:20 10人阅读 评论(0) 收藏
  5. 获取某个数据所在数据列表中的行数 mysql
  6. php生成图片验证码
  7. 我所理解的设计模式(C++实现)——状态模式(State Pattern)
  8. cout输出流的执行顺序
  9. 基于visual Studio2013解决C语言竞赛题之1008整除数
  10. 【Unity3D自学记录】Unity3D网络之Socket聊天室初探
  11. Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
  12. 编译jmeter5.0源码
  13. c++ 指针与const的三种组合
  14. 使用第三方组件(django-redis)创建连接池
  15. zookeeper之 zkServer.sh命令、zkCli.sh命令、四字命令
  16. shell(2)-&& 与 || 逻辑或与非
  17. JDK源码分析(4)HashSet
  18. android 开发 实现一个自定义布局的AlertDialog对话框
  19. 跟我学SharePoint 2013视频培训课程——网站导航及页面元素(2)
  20. 20165210 Java第六周学习总结

热门文章

  1. Python之基本运算符
  2. jQuery 源码分析(十四) 数据操作模块 类样式操作 详解
  3. idea使用lombok不生效的解决办法
  4. Windows Server 2012 R2更新(KB2919355)
  5. java基础(32):类加载、反射
  6. Flask笔记:RESTful
  7. 1-4-JS基础-条件判断
  8. 常见的Web源码泄露总结
  9. iOS中进程与线程(多线程、主次线程)
  10. [b0003] 总览:Hadoop 个人学习路线进展