Hive - Создание внешней таблицы

Я изучаю улей и читаю статью о том, когда использовать внешнюю таблицу HIVE, и упомянул утверждение ниже.

Для запроса данных, хранящихся во внешней системе, такой как Amazon S3 - Избегайте попадания этих данных в HDFS

Может кто-нибудь уточнить приведенное выше утверждение. "Избегать попадания этих данных в HDFS"? Команда загрузки данных локальная поможет загрузить локальный файл в HDFS, а HIVE применяет формат вверху.
Можно ли получить доступ к данным вне HDFS?

2 ответа

Можно ли получить доступ к данным вне HDFS?

HIve может читать данные в любой файловой системе, совместимой с Hadoop, не только в HDFS.

Может кто-нибудь уточнить вышеприведенное утверждение. "Избегать попадания этих данных в HDFS "?

На примере S3 вы можете создать внешнюю таблицу с расположением s3a://bucket/pathнет необходимости переносить его в HDFS, если вам действительно не нужна скорость чтения HDFS по сравнению с S3. Однако, чтобы сохранить набор данных в эфемерном облачном кластере, результаты должны быть записаны обратно в любое долгосрочное хранилище.

Это возможно. Вы можете попробовать это сами. На CDH у меня есть файл extn\t.txt

[cloudera@quickstart ~]$ pwd
/home/cloudera
[cloudera@quickstart ~]$ cat extn/t.txt 
something
[cloudera@quickstart ~]$ 

Теперь я могу создать внешнюю таблицу для доступа к этому файлу следующим образом

create external table tbl(line string)
location 'file:///home/cloudera/extn'

Опишите таблицу

INFO  : OK
+-----------+------------+----------+--+
| col_name  | data_type  | comment  |
+-----------+------------+----------+--+
| line      | string     |          |
+-----------+------------+----------+--+
1 row selected (0.152 seconds)
0: jdbc:hive2://localhost:10000> 

Выбрать

INFO  : OK
+------------+--+
|  tbl.line  |
+------------+--+
| something  |
+------------+--+
1 row selected (0.134 seconds)
0: jdbc:hive2://localhost:10000> 

Опишите отформатированный

+-------------------------------+----------------------------------------------------+-----------------------+--+
|           col_name            |                     data_type                      |        comment        |
+-------------------------------+----------------------------------------------------+-----------------------+--+
| # col_name                    | data_type                                          | comment               |
|                               | NULL                                               | NULL                  |
| line                          | string                                             |                       |
|                               | NULL                                               | NULL                  |
| # Detailed Table Information  | NULL                                               | NULL                  |
| Database:                     | default                                            | NULL                  |
| Owner:                        | cloudera                                           | NULL                  |
| CreateTime:                   | Tue Feb 20 12:49:25 PST 2018                       | NULL                  |
| LastAccessTime:               | UNKNOWN                                            | NULL                  |
| Protect Mode:                 | None                                               | NULL                  |
| Retention:                    | 0                                                  | NULL                  |
| Location:                     | file:/home/cloudera/extn                           | NULL                  |
| Table Type:                   | EXTERNAL_TABLE                                     | NULL                  |
| Table Parameters:             | NULL                                               | NULL                  |
|                               | COLUMN_STATS_ACCURATE                              | false                 |
|                               | EXTERNAL                                           | TRUE                  |
|                               | numFiles                                           | 0                     |
|                               | numRows                                            | -1                    |
|                               | rawDataSize                                        | -1                    |
|                               | totalSize                                          | 0                     |
|                               | transient_lastDdlTime                              | 1519159765            |
|                               | NULL                                               | NULL                  |
| # Storage Information         | NULL                                               | NULL                  |
| SerDe Library:                | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | NULL                  |
| InputFormat:                  | org.apache.hadoop.mapred.TextInputFormat           | NULL                  |
| OutputFormat:                 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | NULL                  |
| Compressed:                   | No                                                 | NULL                  |
| Num Buckets:                  | -1                                                 | NULL                  |
| Bucket Columns:               | []                                                 | NULL                  |
| Sort Columns:                 | []                                                 | NULL                  |
| Storage Desc Params:          | NULL                                               | NULL                  |
|                               | serialization.format                               | 1                     |
+-------------------------------+----------------------------------------------------+-----------------------+

Загрузка данных отличается. Пожалуйста, проверьте эту Внешнюю Таблицу против Загрузочных Данных

Другие вопросы по тегам