首页 文章

我们可以使用哪些字符和格式来指定Hive表的分隔符?

提问于
浏览
0

我正在使用Sqoop将数据从Mysql导入Hive .

但是,我在分隔符方面遇到了一些问题 . 实际上,我知道我可以通过为我的Hive表使用正确的分隔符来解决我的问题,因此它将很好地读取我提供给它的文件 .

但是,我搜索了几个小时仍然找不到任何关于哪些字符我可以用作字段分隔符的文档?!

你能帮我找到我可以用作字段分隔符的字符吗?以及用于指定它的格式/编码?

在关于汇合的官方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 回答

  • 0

    [FIELDS TERMINATED BY char [ESCAPED BY char]] 这个字母意味着 any character . 最常用的是 comma (,) ,如CSV文件(逗号分隔文件)

    但是我无法理解,如果你是MySQL的sqooping数据为什么你关心Field Separator?

    ORC format 中创建一个表,并将数据sqoop到其中 . 或者您也可以在导入数据时创建表 .

    mysql_connection="jdbc:mysql://server/db_name"
    
    sqoop import \
    --connect $mysql_connection \
    --username=mysql_username \
    --password=mysql_password \
    --table batch_control_execution \
    --hcatalog-database temp \
    --hcatalog-table mysql_batch_control \
    -m 1
    

    将以下选项添加到 create table

    --create-hcatalog-table
    

    并将以下选项添加到 specify Format.

    --hcatalog-storage-stanza \
    'stored as orc tblproperties ("orc.compress"="SNAPPY")'
    

相关问题