相关疑难解决方法(0)

Hive外部表跳过第一行

我正在使用Cloudera的Hive版本并尝试在包含第一列中的列名的csv文件上创建外部表.这是我用来做的代码.

CREATE EXTERNAL TABLE Test ( 
  RecordId int, 
  FirstName string, 
  LastName string 
) 
ROW FORMAT serde 'com.bizo.hive.serde.csv.CSVSerde' 
WITH SerDeProperties (  
  "separatorChar" = ","
) 
STORED AS TEXTFILE 
LOCATION '/user/File.csv'
Run Code Online (Sandbox Code Playgroud)

样本数据

RecordId,FirstName,LastName
1,"John","Doe"
2,"Jane","Doe"
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我跳过第一行或者我需要添加一个中间步骤吗?

hive cloudera

47
推荐指数
4
解决办法
9万
查看次数

在将数据加载到配置单元时从字段中删除周围的引号

我想将带有输入数据的表加载到配置单元中.我有以下格式的数据.

"153662";"0002241447";"0"
"153662";"000647036X";"0"
"153662";"0020434901";"0"
"153662";"0020973403";"0"
"153662";"0028604202";"0"
"153662";"0030437512";"0"
Run Code Online (Sandbox Code Playgroud)

我想将这些数据加载到一个包含两个varchar列和一个int列的表中.但是周围的双引号让我感到麻烦.我创建了下表.

CREATE EXTERNAL TABLE Table(A varchar(50),B varchar(50),C varchar(50))
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\;'
LINES TERMINATED BY '\n'

STORED AS TEXTFILE
Run Code Online (Sandbox Code Playgroud)

但是该字段周围的引号也成为字段的一部分,如下所示.

"276725"    "034545104X"    "0"
"276726"    "0155061224"    "5"
Run Code Online (Sandbox Code Playgroud)

我想忽略它们.我还想把第三个字段读作INT.当我在制作表时将第三个字段作为INT提供时,它变为NULL.

hadoop hive

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

hive ×2

cloudera ×1

hadoop ×1