Python导出Hbase数据的思路:

  1. 使用happybase连接Hbase
  2. 使用table.scan()扫数据,将得到的数据整理为dataframe格式
  3. 将从Hbase中得到的byte类型的数据转为str类型的数据

示例代码

import happybase
import numpy as np
import pandas as pddef create_table(table_name):"""创建表"""connection = happybase.Connection()if table_name in connection.tables():  # 在所有的表中connection.delete_table(table_name, disable=True)  # 删除表connection.create_table(table_name,  # 表名{"col_1": dict(),  # 定义列族"col_2": dict(),  # 定义列族"col_3": dict(),})connection.close()def generate_data(table_name):"""添加数据,添加20000行数据"""connection = happybase.Connection()table = connection.table(table_name)with table.batch(batch_size=10) as batch_table:for i in range(20000):random_col = np.random.randint(0, 10)batch_table.put('row{}'.format(i), {'col_1:c{}'.format(random_col): "{}".format(random_col),'col_2:c{}'.format(random_col): "{}".format(random_col),'col_3:c{}'.format(random_col): "{}".format(random_col),})def convert_string(value):"""将byte类型的数据转为str"""if pd.isna(value):return valueelse:return value.decode("utf8")def change_data_to_dataframe(table_name, limit=2000):"""将数据转为dataframe"""connection = happybase.Connection()table = connection.table(table_name)table_index = []table_values = []for key, value in table.scan(limit=limit):  # 选择前1000行table_index.append(key)table_values.append(value)table_index = [i.decode("utf8") for i in table_index]table_df = pd.DataFrame(table_values, index=table_index)table_df = table_df.applymap(convert_string)  # 将bytes解码为utf-8table_df.columns = [convert_string(i) for i in table_df.columns]return table_dfdef main():table_name = "generate_table"create_table(table_name)  # 创建数据tablegenerate_data(table_name)  # 生成数据tabletable_df = change_data_to_dataframe(table_name)print(table_df.head())if __name__ == '__main__':main()

Python Pandas导出Hbase数据到dataframe相关推荐

  1. Python+pandas实现时间序列数据扩展案例一则

    感谢山东科技大学李超老师提供应用背景. 在分析时序数据的有些场合下,可能每个月只能拿到一个数据,然而实际处理时,需要把这个数据扩展到该月的每天,且每天的数据相同. 演示代码: 某次运行结果: ---- ...

  2. Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets

    封面图片:<Python程序设计(第2版)>,董付国,清华大学出版社 =============== 问题描述: 已知文件"超市营业额2.xlsx"中结构与部分数据如图 ...

  3. python pandas 去重_Pandas 数据框增、删、改、查、去重、抽样基本操作方法

    怎么使用Python中Pandas库Resample,实现重采样,按照时间,比如原采样间隔为100ms,数据为[0,10,20,30,40],那么重采样#python中的pandas库主要有DataF ...

  4. Python pandas导excel数据量太大报错问题

    开发环境 MySQL 10.1.38-MariaDB-1~bionic Python3.7.8 开发工具 PyCharm2018.1 SmartGit18.1 Navicat15.0.28 问题描述 ...

  5. python excel数据框_使用python pandas使用新数据框附加现有excel表

    用于将DataFrame附加到现有Excel文件的辅助函数: def append_df_to_excel(filename, df, sheet_name='Sheet1', startrow=No ...

  6. python.pandas数据清洗(数据填充与条件删除)

    在数据挖掘中,数据清洗占很大一部分工作,数据清洗是一件比较繁琐的事情. 本文介绍一下问题的解决方案: 1. 读入csv文件,条件过滤缺失值的行或者列 2. DataFrame数据的缺失值填充 3. A ...

  7. python pandas dropna 删除空值/缺失值(DataFrame)

    文章目录 一.函数参数 二.例子详解 2.1 载入库 2.2 构建一个DataFrame 2.3 默认参数 2.4 axis 2.5 how 2.6 thresh 2.7 subset 一.函数参数 ...

  8. csv 20位数据 如何打开可以预览完整数字_干货Python Pandas 做数据分析之玩转 Excel 报表分析...

    本篇文章选自作者在 GitChat 的分享,若有什么问题,可在公众号回复「小助手」添加小助手微信,邀请你进入技术交流群. 各位朋友大家好,非常荣幸和大家聊一聊用 Python Pandas 处理 Ex ...

  9. python 列表多行_Python Pandas list列表数据列拆分成多行的方法实现

    1.实现的效果 示例代码: df=pd.DataFrame({'A':[1,2],'B':[[1,2],[1,2]]}) df Out[458]: A B 0 1 [1, 2] 1 2 [1, 2] ...

最新文章

  1. Java基础部分笔记----------网络编程
  2. 【数据挖掘笔记十三】数据挖掘的发展趋势和研究前沿
  3. illegal instruction错误
  4. Hashtable TreeMap HashMap LinkedHashMap的区别
  5. Nginx URL 重写
  6. [原创]Retrofit使用教程(二)
  7. 【转载】创建型-工厂方法模式
  8. 替代JavaOne 2013
  9. linux ubuntu 软件安装的三种方式
  10. 【ClickHouse 技术系列】- ClickHouse 聚合函数和聚合状态
  11. Arduino笔记-温度传感器的使用
  12. 疯了,要建飞铁!比飞机快3倍,4000km/h,北京到深圳半小时
  13. 算法导论 资源 课后答案 PDF
  14. Windows控制面板没有Realtek高清晰音频管理器
  15. Enterprise Architect(EA)画UML之用例图,敲详细讲解+实战举例
  16. Linux内核——任务管理
  17. word 保存时 不能保存
  18. Jeecg 任意文件下载漏洞
  19. 如何在远程计算机上播放音乐,如何用iPhone远程遥控电脑播放音乐教程
  20. 【今日头条2017内推】调度问题

热门文章

  1. Dom4j下载及使用Dom4j读写XML简介
  2. Unity3D 使用 GL 绘制线条
  3. 移动标准差以及移动平均值(movstd、movmean)
  4. Python-复习-习题-13
  5. 理解setState(),异步还是同步?
  6. day46-CSS3新增功能
  7. CTF中常见Web源码泄露总结
  8. 玩转Docker镜像
  9. oracle内存结构(PGA、SGA)
  10. mysql主从同步忽略一条错误_mysql主从同步出现异常语句跳过错误处理