目标是销毁Hive架构,但保留数据。
给定一个Hive外部表,例如使用脚本1创建,可以使用脚本2删除它。这将删除数据(删除文件夹/user/me/data/
)。此文件夹必须保留在其他项目中使用。
长期搜索到目前为止还没有产生任何结果......
脚本1:创建外部表
CREATE EXTERNAL TABLE external_hive_table(
column1 STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY
'\t'
STORED AS TEXTFILE
LOCATION
'/user/me/data/'
TBLPROPERTIES (
"skip.header.line.count"="1");
脚本2:删除外部表(丢弃数据)
ALTER TABLE
external_hive_table
SET TBLPROPERTIES (
'EXTERNAL'='FALSE');
DROP TABLE external_hive_table;
编辑:脚本3:删除外部表(保留数据)
DROP TABLE external_hive_table;
答案 0 :(得分:7)
仅使用此语句(不带alter table):
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: false
mappings:
FOSUserBundle: ~
AppBundle:
type: annotation
dir: "%kernel.root_dir%/../src/AppBundle/Libraries/Data"
prefix: AppBundle\Libraries\Data
答案 1 :(得分:0)
我们可以避免这个陡峭的Boz因为我们会丢弃外部表它会掉线 将删除HDFS架构中可用的数据。 脚本2:删除外部表(丢弃数据)
ALTER TABLE external_hive_table 设置TBLPROPERTIES( ' EXTERNAL' =' FALSE&#39);
DROP TABLE external_hive_table