我要把数据帧保存到拼图文件中。生成的模式如下所示:
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保存到镶嵌面板,如下所示:
df.write.format("parquet").mode(SaveMode.Overwrite).save('/home/my/location')并在配置单元中创建一个外部表,如下所示:
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。
发布于 2017-11-08 14:00:53
配置单元处理拼接文件所需的jar文件。
1.首先下载parquet hive-bundle-1.5.0.jar
2.将jar路径包含到hive-site.xml中。
<property>
<name>hive.jar.directory</name>
<value>/home/hduser/hive/lib/parquet-hive-bundle-1.5.0.jar</value>
</property>发布于 2018-12-14 06:09:45
配置单元元数据存储不区分大小写,并以小写形式存储所有列名,而拼接面板则按原样存储。尝试在相同的情况下重新创建配置单元表。
https://stackoverflow.com/questions/47163854
复制相似问题