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.4.tar.gz
(4.9 kB
view details)
Built Distribution
sqoopy-0.0.4.macosx-10.10-intel.exe
(108.4 kB
view details)
File details
Details for the file sqoopy-0.0.4.tar.gz
.
File metadata
- Download URL: sqoopy-0.0.4.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 669b0900caf2d654b955cf91811e689f7eeb25728217d96ddf869f3076f84502 |
|
MD5 | 6da980347a26489c69320d004dccf480 |
|
BLAKE2b-256 | a3fcf403eed41d74073907534b06767fce4164fa3f763bec667213821208ce25 |
File details
Details for the file sqoopy-0.0.4.macosx-10.10-intel.exe
.
File metadata
- Download URL: sqoopy-0.0.4.macosx-10.10-intel.exe
- Upload date:
- Size: 108.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b454281f3ac0cc525d3251025e308944988b9c2efedf66447901db4e6b3a130 |
|
MD5 | b9ed314ee91a922bece458403b18a519 |
|
BLAKE2b-256 | 70a2e59071f793c0b026ac2864bd62c03fd65c41e743c7438c936d5d23e69ffd |