hive - 如何加载“|” 分隔文件到配置单元中,而不使用“行格式分隔符”创建配置单元表
问题描述
我正在尝试使用“|”加载本地文件 分隔值到 hive 表中,我们通常使用选项 "ROW FORMAT DELIMITER "|" 创建一个表。但我想创建一个普通表并加载数据。我需要使用什么正确的语法,请建议。
工作代码
CREATE TABLE IF NOT EXISTS testdb.TEST_DATA_TABLE
( column1 string,
column 2 bigint,
)ROW FORMAT DELIMITED FIELDS TERMINATED BY '|';
LOAD DATA LOCAL INPATH 'xxxxx.csv' INTO TABLE testdb.TEST_DATA_TABLE;
但我想做:
CREATE TABLE IF NOT EXISTS testdb.TEST_DATA_TABLE
( column1 string,
column 2 bigint,
);
LOAD DATA LOCAL INPATH 'xxxxx.csv' INTO TABLE testdb.TEST_DATA_TABLE FIELDS TERMINATED BY '|';
原因开始:如果我创建一个表,HDFS 将用“|”将数据存储在表中 分界线
解决方案
使用您提供的第二个 DDL,Hive will create default formatted table like Textformat,orc,parquet..etc(as per your configuration)
带有cntrl+A
分隔文件(配置单元中的默认分隔符)。
如果你想存储hdfs file
用管道分隔的,那么我们需要create Hive Table in Text with | delimiter
.
(或者)
local (or) HDFS
您也可以使用管道分隔符将选择查询的结果写入路径。
推荐阅读
- reactjs - 如何通过 React js 向 SAP 服务器发送和接收 cookie?
- c++ - 将十六进制数转换为有符号整数
- xamarin.forms - IdleTimerDisabled 在 Xamarin Forms IOS 中不起作用
- sql - 大查询 - 格式化日期
- laravel - 如果验证器在 laravel 中失败,如何获得键值错误响应
- powershell - 发布请求 Powershell
- python - GroupKFold 和 sklearn 的嵌套交叉验证
- python - 从多数据框熊猫的选定行中创建新数据框
- typescript - 为什么对空对象没有弱类型检测
- javascript - 如何在单个 mongo db 更新操作中更新数组的多个对象?