Я пытаюсь скопировать данные из таблицы с именем account в пустую таблицу с именем account_by_area_code. У меня есть следующие поля в account_by_area_code: acct_num INT, first_name STRING, last_name STRING, phone_number STRING. Таблица разбита по areacode (первые 3 цифры phone_number.
Мне нужно использовать инструкцию SELECT, чтобы извлечь код области в команду INSERT INTO TABLE, чтобы скопировать указанные столбцы в новую таблицу, динамически разбивая по коду региона.
Это моя последняя попытка:
impala-shell -q "INSERT INTO TABLE accounts_by_areacode (acct_num, first_name, last_name, phone_number, areacode) PARTITION (areacode) SELECT STRLEFT (phone_number,3) AS areacode FROM accounts;"
При этом генерируется ОШИБКА: AnalysisException: Перестановка столбцов и предложение PARTITION содержат больше столбцов (5), чем предложение SELECT / VALUES и PARTITION. предложение return (1). Я не уверен, что у меня даже правильный синтаксис basi c, поэтому любая помощь будет великолепна, поскольку я новичок в Impala.