通过hive将excel文件_如何从Excel工作表中通过pyspark将特定的行和列加载到hive表中?...

在这里,您有以下选项:

1)使用hive直接读取Excel文件,并将ctas读取到csv格式的表中。

您需要部署hadoopoffice excel serde

https://github.com/ZuInnoTe/hadoopoffice/wiki/Hive-Serde

然后您需要创建表(参见文档了解所有选项,示例从Sheet1读取并跳过前3行)

create external table ExcelTable() ROW FORMAT SERDE 'org.zuinnote.hadoop.excel.hive.serde.ExcelSerde' STORED AS INPUTFORMAT 'org.zuinnote.hadoop.office.format.mapred.ExcelFileInputFormat' OUTPUTFORMAT 'org.zuinnote.hadoop.excel.hive.outputformat.HiveExcelRowFileOutputFormat' LOCATION '/user/office/files' TBLPROPERTIES("hadoopoffice.read.simple.decimalFormat"="US","hadoopoffice.read.sheet.skiplines.num"="3", "hadoopoffice.read.sheet.skiplines.allsheets"="true", "hadoopoffice.read.sheets"="Sheet1","hadoopoffice.read.locale.bcp47"="US","hadoopoffice.write.locale.bcp47"="US");

然后做

CTAS

到csv格式表中:

create table CSVTable ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' AS Select * from ExcelTable;

2)使用火花

根据Spark版本,您有不同的选择:

对于spark 1.x,可以使用hadoopoffice文件格式,对于spark 2.x,可以使用

Spark2 DataSource

(后者还包括对python的支持)。参见霍尔托斯

here

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值