The table data path: /mnt/data/account_transactions
Database: office
Table (to be created): ACCOUNT_TRANS (Accounts Transactions)
Может ли кто-нибудь подтвердить, правильно ли я понимаю, иначе объясните различия между двумя подходами.
Подход 1)
CREATE TABLE office.account_trans
AS
SELECT * FROM parquet.`/mnt/data/account_transactions`
Подход 2) Если мы знаем поля в account_trans: AccountId, AccountName, TransactionAmt, BalanceAmt
CREATE TABLE office.account_trans (
AccountId STRING,
AccountName STRING,
TransactionAmt DOUBLE,
BalanceAmt DOUBLE
)
USING parquet
LOCATION '/mnt/data/account_transactions'
Мое понимание: Подход 1) Здесь сначала выполняется запрос Select, а затем создается таблица по результату только что выполненный запрос на выборку.
Таким образом, любые новые записи, добавленные в / mnt / data / account_transactions, не будут отражены в таблице office.account_trans.
Подход 2) Поскольку здесь мы дали Предложение LOCATION как / mnt / data / account_transactions, поэтому любые новые добавления / удаления / обновления будут отражены в office.account_trans