我正在使用sqoop将数据从mysql导入hive。
但是,我面临一些关于分隔符的问题。实际上,我知道我将能够通过为我的配置单元表使用正确的分隔符来解决我的问题,因此它将很好地读取我提供给它的文件。
但是,我搜索了几个小时,仍然找不到任何可以用作字段分隔符的文档?!
你能帮我准确地找出什么样的字符可以用作字段分隔符吗?以及使用哪种格式/编码来指定它?
在有关confluence的官方hive文档中,我只能发现:
row_format
: DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
[NULL DEFINED AS char] -- (Note: Available in Hive 0.13 and later)
| SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]
但是,“char”代表什么呢?
提前谢谢!
1条答案
按热度按时间s4n0splo1#
[fields terminated by char[escape by char]]在这个char中表示任何字符。最常用的是逗号(,),如csv文件(逗号分隔的文件)
但是我不明白,如果你是从mysql中下载数据,为什么你会关心字段分隔符呢?
要么创建一个orc格式的表,然后将数据放入其中。也可以在导入数据时创建表。
添加以下选项以创建表
并添加以下选项以指定格式。