嘿,我正在平面文件数据上创建一个配置单元外部表。平面文件中的数据如下所示:“”,3,“xyz”当我将它加载到配置单元表中时,它会用单引号显示结果。但我希望它是这样的:,3,xyz有什么办法吗?
ymdaylpp1#
我能想出两种方法来得到想要的结果。使用hive-substr和length中现有的字符串函数。
select SUBSTR("\'abc\'",2,length("\'abc\'")-2) , SUBSTR("\'3\'",2,length("\'3\'")-2) , SUBSTR("\'xyz\'",2,length("\'xyz\'")-2)
广义查询
select SUBSTR(col1,2,length(col1)-2) , SUBSTR(col2,2,length(col2)-2) , SUBSTR(col3,2,length(col3)-2)
注意:hive substr方法要求字符串索引从“1”开始,而不是从“0”开始写你自己的自定义项来切掉每根线的第一个和最后一个字母。如何转换百万行?假设您有一个表(名为“staging”),其中有3列和100万条记录。如果您在下面运行查询,您将有一个新表“final”,它的开始或结束处都没有任何单引号。
INSERT INTO final SELECT SUBSTR(col1,2,length(col1)-2) , SUBSTR(col2,2,length(col2)-2) , SUBSTR(col3,2,length(col3)-2) from staging
一旦上述查询完成,您将在“final”表中得到所需的结果
1条答案
按热度按时间ymdaylpp1#
我能想出两种方法来得到想要的结果。
使用hive-substr和length中现有的字符串函数。
广义查询
注意:hive substr方法要求字符串索引从“1”开始,而不是从“0”开始
写你自己的自定义项来切掉每根线的第一个和最后一个字母。
如何转换百万行?假设您有一个表(名为“staging”),其中有3列和100万条记录。如果您在下面运行查询,您将有一个新表“final”,它的开始或结束处都没有任何单引号。
一旦上述查询完成,您将在“final”表中得到所需的结果