python - Pandas DataFrame 到 Hive 表

标签 python pandas hive hiveql

我是 Python 和 Hive 的新手。

我希望能得到一些建议。

有没有人对如何将 python pandas 数据框转换为配置单元表有任何提示?

最佳答案

您的脚本应该在 hive 可以使用“在路径中加载本地数据”方法加载数据的机器内运行。

  1. 查询 pandas 数据框以创建列名数据类型列表

  2. 使用 python 字符串操作(基本上是串联)编写有效的 HQL (DDL) 创建表语句

  3. 在 Hive 中发出创建表语句。

  4. 将 pandas 数据帧写成 cvs,用“\t”分隔,关闭 header 和索引(检查 to_csv() 的参数)

5.- 从您的 python 脚本调用运行 hive -e 的系统控制台:

Use: for instance:


p = subprocess.Popen( ['hive', '-e', str_command_list], stdout = subprocess.PIPE,
                                                        stderr = subprocess.PIPE )
out, err = p.communicate()

这将调用 hive 控制台并执行,例如,加载本地路径中的数据,将您的 csv 数据插入到创建的表中。

那你就开心了。

关于python - Pandas DataFrame 到 Hive 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23817958/

相关文章:

python - 语法错误-使用边界框坐标裁剪图像

Python 字典没有更新

python - 这种方法是否为 "vectorized"- 用于中等数据集,速度相对较慢

python - 仅获取 Pandas groupby 中组的匹配行

java - "Invalid method name: ' 在 Java 中使用 Hive Client 执行 '"错误

python - Django根据G​​ET请求从数据库查询过滤后的数据

python - 在 Django 中迭代特定组中的项目

python - 如果列包含 NaN,如何将其转换为 int?

java - Hive jdbc 驱动程序以非描述性消息响应

sql - Hive中哪一个更快? “in”或 “or”?