Hive 表(旧)
重要
本文档已过时,将来可能不会更新。
本文介绍如何使用外部表将 Hive 表从云存储导入 Azure Databricks。
Databricks 不建议使用 Hive 表来存储或组织数据。 本文档用于帮助你配置与现有 Hive 表的连接,以便从外部系统迁移或引入数据。
步骤 1:显示 CREATE TABLE
语句
在 Hive 命令行上发出 SHOW CREATE TABLE <tablename>
命令,以查看创建了此表的语句。
hive> SHOW CREATE TABLE wikicc;
OK
CREATE TABLE `wikicc`(
`country` string,
`count` int)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'<path-to-table>'
TBLPROPERTIES (
'totalSize'='2335',
'numRows'='240',
'rawDataSize'='2095',
'COLUMN_STATS_ACCURATE'='true',
'numFiles'='1',
'transient_lastDdlTime'='1418173653')
步骤 2:发出 CREATE EXTERNAL TABLE
语句
如果返回的语句使用 CREATE TABLE
命令,请复制该语句并将 CREATE TABLE
替换为 CREATE EXTERNAL TABLE
。
EXTERNAL
可确保在删除表时 Spark SQL 不会删除你的数据。- 可以省略
TBLPROPERTIES
字段。
DROP TABLE wikicc
CREATE EXTERNAL TABLE `wikicc`(
`country` string,
`count` int)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'<path-to-table>'
步骤 3:对数据发出 SQL 命令
SELECT * FROM wikicc