hadoop - Hive:如何处理包含不固定数量字段的文件?
问题描述
处理HDFS
包含不同字段数的文件,这些字段由“,”分隔。例如:
uid1, eid01, para1, para2, para3,para4,para5,timestamp
uid1, eid12, para56, para57, timestamp
uid3, eid42, para102,timestamp
字段数不固定。
现在我想将这些数据放入一个Hive
有 4 列的表中,并且所有字段都'para..'
在一个列中,例如:
uid eid para datatime
uid1 eid01 para1, para2, para3,para4,para5 timestamp
uid1 eid12 para56, para57 timestamp
uid3 eid42 para102 timestamp
数据量太大,我无法使用AWK
. 还有其他解决方案吗?
任何帮助表示赞赏。
解决方案
创建一个临时配置单元表,例如 t_data_tmp(line string) ,它只有一列。将 hdfs 文件中的数据加载到 t_data_tmp,每行为一行。
使用您的架构创建一个配置单元表 t_data,并插入覆盖 t_data 作为 select from t_data_tmp
when select form t_data_tmp, using hive functions for string(position, substr) to figure out value for each column(using the second comma and last comma as the splitter)
推荐阅读
- demorgans-law - DeMorgans Law 无法简化布尔表达式
- machine-learning - ValueError:所有输入数组在 onehotencoder 上的维数必须相同
- python - 创建用于安装 API 的 setup.py
- selenium - Macbook上chromedrive的路径?
- python - python从多个.gz文件中提取关键字
- android - 我无法将我的项目与 gradle 同步?
- node.js - 如何使用 Azure DevOps 管道运行 LUIS 调度模型的刷新
- c# - 切换 OnValueChanged 没有可用的功能
- excel - 两个 Excel 文件的排序不同
- java - 如何在同一主题上使用 globalKtable 和 StateStore?