UNKNOWN
Project description
sqoopy
======
Python CLI to generate custom [sqoop](http://sqoop.apache.org/) import statements.
Modified from [https://github.com/wikimedia/sqoopy/](https://github.com/wikimedia/sqoopy/).
## Installation
You can install `sqoopy` via `pip`:
```bash
$ pip install sqoopy
```
## Usage
`sqoopy` will generate custom [sqoop](http://sqoop.apache.org/) import statements given a few simple options:
```bash
usage: sqoopy [-h] [-c CONNECT] [-d TARGET_DIR] [-t TABLES]
Python CLI to generate custom sqoop import statements.
optional arguments:
-h, --help show this help message and exit
-c CONNECT, --connect CONNECT
A jdbc connection string.
-d TARGET_DIR, --target-dir TARGET_DIR
The directory to send output to. If sending to s3, use
"{table}" to insert the table name into the directory.
EG: s3://my-bucket/{table}/
-t TABLES, --tables TABLES
(Optional) comma-separated list of tables that need to
be inspected. If not supplied, all tables will be
imported.
```
For example, here is a simple command that will generate an import command given the [test database](tests/test.db):
```bash
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/
```
This will output:
```
sqoop import --connect=sqlite:///tests/test.db --table=test --target-dir=s3://foo-bar/
```
If you'd like to programmatically add the table name to the `target-dir`, use `{table}`:
```
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/{table}
```
This will output:
```
sqoop import --connect=sqlite:///tests/test.db --table=test --target-dir=s3://foo-bar/test/
```
If you'd like to use a custom list of tables to import, use the `--tables` argument, with each table name separated by a comma:
```
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/{table} --tables=test
```
Finally, you can also passthrough any other `sqoop import` arguments:
```bash
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/{table} --tables=test --split-by id --num-mappers 4
```
This will output:
```
sqoop import --connect=sqlite:///tests/test.db --table=test --target-dir=s3://foo-bar/test/ --split-by id --num-mappers 4
```
## Tests
You can run tests by first installing `nose`:
```
$ pip install nose
$ nosetests
```
======
Python CLI to generate custom [sqoop](http://sqoop.apache.org/) import statements.
Modified from [https://github.com/wikimedia/sqoopy/](https://github.com/wikimedia/sqoopy/).
## Installation
You can install `sqoopy` via `pip`:
```bash
$ pip install sqoopy
```
## Usage
`sqoopy` will generate custom [sqoop](http://sqoop.apache.org/) import statements given a few simple options:
```bash
usage: sqoopy [-h] [-c CONNECT] [-d TARGET_DIR] [-t TABLES]
Python CLI to generate custom sqoop import statements.
optional arguments:
-h, --help show this help message and exit
-c CONNECT, --connect CONNECT
A jdbc connection string.
-d TARGET_DIR, --target-dir TARGET_DIR
The directory to send output to. If sending to s3, use
"{table}" to insert the table name into the directory.
EG: s3://my-bucket/{table}/
-t TABLES, --tables TABLES
(Optional) comma-separated list of tables that need to
be inspected. If not supplied, all tables will be
imported.
```
For example, here is a simple command that will generate an import command given the [test database](tests/test.db):
```bash
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/
```
This will output:
```
sqoop import --connect=sqlite:///tests/test.db --table=test --target-dir=s3://foo-bar/
```
If you'd like to programmatically add the table name to the `target-dir`, use `{table}`:
```
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/{table}
```
This will output:
```
sqoop import --connect=sqlite:///tests/test.db --table=test --target-dir=s3://foo-bar/test/
```
If you'd like to use a custom list of tables to import, use the `--tables` argument, with each table name separated by a comma:
```
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/{table} --tables=test
```
Finally, you can also passthrough any other `sqoop import` arguments:
```bash
$ sqoopy --connect=sqlite:///tests/test.db --target-dir=s3://foo-bar/{table} --tables=test --split-by id --num-mappers 4
```
This will output:
```
sqoop import --connect=sqlite:///tests/test.db --table=test --target-dir=s3://foo-bar/test/ --split-by id --num-mappers 4
```
## Tests
You can run tests by first installing `nose`:
```
$ pip install nose
$ nosetests
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sqoopy-0.0.5.tar.gz
(4.9 kB
view details)
Built Distribution
sqoopy-0.0.5.macosx-10.10-intel.exe
(108.4 kB
view details)
File details
Details for the file sqoopy-0.0.5.tar.gz
.
File metadata
- Download URL: sqoopy-0.0.5.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dceae02118d13fe4d23539669e36d55df8e2386fe7ebadb3f80577c5a5b245fd |
|
MD5 | 166f79fe02da0ced5baf697329192d5e |
|
BLAKE2b-256 | 41eb8d60577fd3c01eb82ee20f70795c738d1c33294739c3cd7530b5ed292b09 |
File details
Details for the file sqoopy-0.0.5.macosx-10.10-intel.exe
.
File metadata
- Download URL: sqoopy-0.0.5.macosx-10.10-intel.exe
- Upload date:
- Size: 108.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16f634569b184e8784bde02697c2728d5d7a3ac68713a575605c025141b1f9b6 |
|
MD5 | 16292537604d13abb2d8731f07a42090 |
|
BLAKE2b-256 | 90a05022f60fe291d22624f83fac79c01f160da8c6059329acea69a216d38dff |