Пересоединение схемы внешнего стола Hive - PullRequest
0 голосов
/ 12 февраля 2019

Предположим, что я удалил схему для существующей внешней таблицы улья, удалив таблицу, данные все еще существуют в местоположении.

Затем я заново создал внешнюю таблицу с той же схемой в том же месте существующих данных.

  1. Получу ли я результат при запросе?
  2. Если нет, что делать, чтобы получить результат запросов?
  3. Можно ли в любом случае подключиться к базе данных derby в улье?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Предположим, что вы удалили схему для существующей внешней таблицы улья, удалив таблицу, данные все еще существуют в местоположении.

Затем, если вы воссоздали внешнюю таблицу с той же схемой в том же месте существующих данных.

ОТВЕТ: 1) Вы получите результат, как вы получили.Удаление таблицы внешнего куста удаляет только метаданные из сконфигурированного мегамаркета RDBMS.

ANS: 3) Да, вы получаете базу данных derby DB по умолчанию во встроенном режиме или если вы хотите явно использовать базу данных derby DB в распределенном режиме, ее можно настроить в hive.site.xml file

0 голосов
/ 12 февраля 2019

Вы должны были попробовать это, поскольку вы уже знаете, что файл все еще существует даже после удаления таблицы.

У меня есть таблица - time_file;

hive> show create table time_file;
OK
CREATE EXTERNAL TABLE `time_file`(
  `tm_dim_key` string,
  ......
  ....)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
  'field.delim'='|',
  'serialization.format'='|')
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'maprfs:/user/vijay/scm';

Удаление таблицы -

hive> drop table if exists time_file;
OK
Time taken: 0.1 seconds

После удаления файл таблицы все еще существует в расположении hadoop -

hive> !hadoop fs -ls /user/supplychainadmin/alb_supply_chain_ext
    > ;
Found 1 items
-rwxr-xr-x   3 scm scm   74163231 2019-02-07 04:21 /user/vijay/scm/time_file1.dat

после повторного создания таблицы -

мы можем запросить данные

hive> select * from time_file limit 1;
OK
735918                                          735918  ABS Fiscal Year  2016           11280   50343524        50343524                                    Year     02-25-17        25                                                      1       ABS Fiscal Year  2016                           1       Saturday    7
Time taken: 0.106 seconds, Fetched: 1 row(s)
hive>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...