Managed tables can be partitioned using the PARTITIONED BY
clause. In a managed table, if you delete a table, then the data of that table will also get deleted. Similarly, if you delete a partition, then the data of that partition will also get deleted.
Let's take an example of the customer
table data and imagine that we have the data of different customers of different country. Now if we don't enable any partitioning, then by default, all data will go into one directory. Let's assume that data size is around 1 TB. Now if we query for customers belonging to India, then this query will be executed on entire data of 1 TB size and this query will take more time. By enabling partitioning this query, execution can be much faster. If we want to split the data on the country basis, then the following command can be used to create a table with the partitioned column country
:
CREATE TABLE customer(id STRING, name STRING, gender STRING, state STRING) PARTITIONED...