首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在拼图文件上创建Hive表失败-我哪里出错了?

在拼图文件上创建Hive表失败-我哪里出错了?
EN

Stack Overflow用户
提问于 2017-11-08 01:21:09
回答 2查看 480关注 0票数 0

我要把数据帧保存到拼图文件中。生成的模式如下所示:

代码语言:javascript
复制
org.apache.spark.sql.parquet.row.metadata{  
"type":"struct",
"fields":[  
  {  
     "name":"DCN",
     "type":"string",
     "nullable":true,
     "metadata":{}
  },
  {  
     "name":"EDW_id",
     "type":"string",
     "nullable":true,
     "metadata":{}
  },
  {  
     "name":"recievedTimestamp",
     "type":"string",
     "nullable":true,
     "metadata":{}
  },
  {  
     "name":"recievedDate",
     "type":"date",
     "nullable":true,
     "metadata":{}
  },
  {  
     "name":"rule",
     "type":"string",
     "nullable":true,
     "metadata":{}
  }
]}

数据帧是在spark程序中生成的;当我通过spark-submit运行它并显示数据帧时,我可以看到有数百条记录。我将df保存到镶嵌面板,如下所示:

代码语言:javascript
复制
df.write.format("parquet").mode(SaveMode.Overwrite).save('/home/my/location')

并在配置单元中创建一个外部表,如下所示:

代码语言:javascript
复制
CREATE EXTERNAL TABLE schemaname.tablename (
  DCN STRING,
  EDW_ID STRING,
  RECIEVEDTIMESTAMP STRING,
  RECIEVEDDATE STRING,
  RULE STRING) 
STORED AS PARQUET
LOCATION '/home/my/location';

正在成功创建表,但没有使用任何数据填充它-当我查询它时,返回0条记录。有人能发现我做错了什么吗?这是使用Hive 1.1和Spark 1.6。

EN

回答 2

Stack Overflow用户

发布于 2017-11-08 14:00:53

配置单元处理拼接文件所需的jar文件。

1.首先下载parquet hive-bundle-1.5.0.jar

2.将jar路径包含到hive-site.xml中。

代码语言:javascript
复制
<property>
   <name>hive.jar.directory</name>
   <value>/home/hduser/hive/lib/parquet-hive-bundle-1.5.0.jar</value>
</property>
票数 0
EN

Stack Overflow用户

发布于 2018-12-14 06:09:45

配置单元元数据存储不区分大小写,并以小写形式存储所有列名,而拼接面板则按原样存储。尝试在相同的情况下重新创建配置单元表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47163854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档