【发布时间】:2018-04-20 04:54:23
【问题描述】:
我正在将数据框保存到镶木地板文件中。生成的架构如下所示:
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-submit 运行它并显示数据框时,我可以看到有数百条记录。我将 df 保存到镶木地板,如下所示:
df.write.format("parquet").mode(SaveMode.Overwrite).save('/home/my/location')
并像这样在 hive 中创建一个外部表:
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。
【问题讨论】:
标签: apache-spark hive apache-spark-sql parquet