在蜂箱和黑斑羚中使用不同的分隔符创建表格



我需要你帮忙在Hive和Impala中制作一张表格。我的问题是我必须插入以下数据:

HD_4K;Number_Channel;ID_Channels;Type;Name_Channel; 
4K; 45; "1;2;3;4;5;6" ; Series ; Channel 1;  
HD; 24; "1;6"; Film; Channel 2; 

我想用";"分隔字段,但"ID_CHANNELS"字段给我带来了问题,因为您的信息也涉及";">

有人能想出解决这个问题的办法吗?提前非常感谢:(

创建外部表格通道(
HD_4K字符串、Number_Channel Int、ID_channels字符串、Type字符串、Name_Channel字符串)行格式交付字段以"\u0059"结尾行以"\n"结尾存储为文本文件位置'/数据库/频道/'TBLPROPERTIES("textfile.compress"="snappy"(;

当前频道表:(

HD_4K |    NUMBER_CHANNEL |  ID_CHANNELS   | TYPE  | NAME_CHANNELS  
(String)        (Int)            (String)    (String)     (String)
4K              45                "1          2            3 
HD              23                "1         6"          Film
""              ""                ""         ""           ""

梦想频道表

HD_4K |    NUMBER_CHANNEL |  ID_CHANNELS   | TYPE  | NAME_CHANNELS  
(String)        (Int)            (String)    (String)     (String)
4K              45          "1;2;3;4;5;6"   Series   Cook Channel 
HD              23              "1;6"        Film      Channel 1
""              ""                ""         ""           ""

您可以使用OpenCSVSerDe


CREATE EXTERNAL TABLE channels_csv(
HD_4K String, 
Number_Channel Int, 
ID_Channels String, 
Type String, 
Name_Channel String 
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = ";",
"quoteChar"     = """
)
LOCATION '/path/to/file' 
;

希望这能帮助

最新更新