當我在HIVE中運行CTAS時,數據也同時被填充。但我只是想創建表,但不填充數據。我應該怎麼做?謝謝。如何讓CREATE TABLE ...在HIVE中的AS SELECT不填充數據?
回答
您可以通過使用LIKE關鍵字來完成此操作。
create table new_table_name LIKE old_table_name
這將創建沒有數據的表結構。
使用create EXTERNAL table
而不是create table
。觀察外部關鍵字。
它似乎不起作用..... hive>創建EXTERNAL表p作爲select * from big_test_table; 創建EXTERNAL表p作爲select * from big_test_table; FAILED:SemanticException [錯誤10070]:CREATE-TABLE-AS-SELECT無法創建外部表 – xu2002261
呵呵!!它看起來與外部源的外部工作,但不是配置單元表。只是好奇,爲什麼你想從現有的配置單元表創建一個配置單元表?我的意思是你可以使用現有的HIVE表本身,而無需創建新的表 – Abhishek
實際上,新創建的表來自非常複雜的查詢。這不是來自簡單的單一表格。該查詢可能包含GROUP BY或JOIN。 – xu2002261
在select語句中使用where條件並給出值其中從配置單元中不提取任何記錄。
例table name demo1
id name country
1 abc India
2 xyz Germany
3 pqr France
In CREATE TABLE…AS SELECT in HIVE
Create table demo2...As SELECT id, name, country from demo1 where id=0;
所以,在上述其中id的條件被給定爲0,並從上述數據選擇語句將獲取沒有記錄,類似地選擇在一個值,其中條件返回沒有記錄。因此沒有數據將被插入新創建的表中。
@ Sunil的答案也幫助了我,我只是發佈了一個在我的情況下是必要的補充。 源表是阿夫羅格式,但新的一個I在ORC想要的,因此,
CREATE TABLE dataaggregate_orc_empty LIKE dataaggregate_avro_compressed ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' TBLPROPERTIES ('orc.compress'='ZLIB');
上述步驟可以在兩個步驟中被分割,如果需要的話:
CREATE TABLE dataaggregate_orc_empty LIKE dataaggregate_avro_compressed;
alter table dataaggregate_orc_empty set fileformat ORC;
我很高興如果某人爲此過程中發生的數據格式更改和相關問題(如果有)提供輸入。
- 1. CREATE TABLE AS SELECT
- 2. 何時CREATE TABLE AS SELECT與CREATE TABLE LIKE?
- 3. PostgreSQL中的CREATE TABLE AS SELECT
- 4. CREATE TABLE AS select * from分區表
- 5. HIVE - INSERT OVERWRITE與DROP TABLE + CREATE TABLE + INSERT INTO
- 6. CREATE TABLE AS - 如何用PK添加列?
- 7. SQLAlchemy核心CREATE TEMPORARY TABLE AS
- 8. CREATE TABLE as SELECT - 使用MEMORY ENGINE(在RAM存儲器中)
- 9. 在CREATE TABLE AS語句中指定數據類型
- 10. select * into newtable和create table newtable之間的區別AS
- 11. 何時使用Sqoop --create-hive-table
- 12. 我可以通過/桶將通過「CREATE TABLE AS SELECT .....」在Hive中創建的表進行羣集化嗎?
- 13. CREATE TABLE AS(使用列和表名)
- 14. CREATE TABLE AS後SELECT需要很長時間才能運行
- 15. CREATE TABLE AS with PRIMARY KEY in one statement(PostgreSQL)
- 16. Sqoop「create-hive-table」不適用於Hortonworks中的Teradata
- 17. 如何從JavaScript數組填充div-table?
- 18. 如果不存在基於SELECT語句的CREATE TABLE
- 19. HDInsight在Azure Data Factory Hive中CREATE EXTERNAL TABLE ... LOCATION:No FileSystem for scheme:adl
- 20. 使用create table複製表間的數據使用select
- 21. CREATE TABLE IF NOT EXISTS x AS(SELECT ...)在執行兩次時插入雙記錄?
- 22. 在HIVE中我們如何在Create table statment中定義Not NULL列?
- 23. select * transform row value as table列名
- 24. 哪個更有效率的Oracle SQL? PARALLEL CREATE TABLE AS SELECT或PARALLEL INSERT?
- 25. EXECUTE IMMEDIATE CREATE TABLE
- 26. 如何使用CREATE TABLE和SELECT語句設置列的註釋
- 27. 在Oracle中創建TABLE AS
- 28. 表不存在後CREATE TABLE
- 29. DB2 DROP AND CREATE TABLE
- 30. 「CREATE PROCEDURE SPNAME AS」vs.「CREATE PROCEDURE SPNAME AS BEGIN/END」
我將首先在複雜選擇上創建視圖,然後發出「像view_name一樣創建表」 – xu2002261