CTAS commans是:CREATE TABLE new_table_name AS <query>;
但是,在创建表之前,我必须创建模式。我无法做到,而且我无法使用现有架构,因为对于每个已安装的架构,我都会收到错误:
schema cp is immutable
。因此,解决方案是创建新架构。问题是我找不到这个命令的任何例子。
答案 0 :(得分:1)
使用CTAS,根据docs,您只能在工作区中创建新表。您无法在其他存储插件(如Hive和HBase)中创建表。
您可以将表数据存储为以下三种格式之一:
使用CTAS创建表格的步骤:
设置store.format
:
alter session set `store.format`='json';
设置创建表格(更好地调用文件)的位置:
转到dfs插件:http://localhost:8047/storage/dfs
在“工作区”中,添加可写(可变)工作空间。例如:
"tmp": {
"location": "/tmp",
"writable": true,
}
请注意"writable": true
使用工作区:
use dfs.tmp;
Fire CTAS命令。例如:
CREATE TABLE new_table_name AS (SELECT * FROM hive.mytable);
检查/tmp/abc
目录,您将找到JSON文件。
答案 1 :(得分:0)
您需要使用dfs或使用本地文件系统的任何其他存储插件。
例如:创建表dfs.test。temp_count
(user_count)作为选择t1.data作为来自s3device的userParams。<File-Path>
t1 limit 1