LindexURI
BigData URI utility
The idea is that every information stored is addressable using a URI, in this case we like to work with HDFS and HIVE. There
LindexURI.isValid( uri ) : returns true if the URI is valid, it's a static method and can be used in a quick way.
luri = LindexURI(uri)
luri.isPartitioned()
returns true if the HIVE uri is defining a partitioned table
if uri == "hive://databasename/tablename?dt=201212" luri.isPartitioned returns True.
luri.getPartitions()
returns a dictionary that describes the HIVE partition
if uri == "hive://databasename/tablename?dt=201212" luri.getPartitions() returns
OrderedDict( 'dt': '201212' )
luri.getDatabase()
gets the database name from the HIVE uri ( this can be modified to work also with HDFS paths )
if uri == "hive://databasename/tablename?dt=201212" luri.getDatabase() returns 'databasename'
luri.getTable()
gets the table name from HIVE uri, can be modified to work also with HDFS paths
if uri == "hive://databasename/tablename?dt=201212" luri.getDatabase() returns 'tablename'
luri.getHDFSHostName()
gets the HDFS hostname
if uri == "hdfs://hdfs-prod/warehouse/databasename.db/tablename.db/dt=201212" luri.getHDFSHostName returns 'hdfs-prod'
luri.getHDFSPath()
gets the path from the HDFS uri
if uri == "hdfs://hdfs-prod/warehouse/databasename.db/tablename.db/dt=201212" luri.getHDFSPath() returns 'warehouse/databasename.db/tablename.db/dt=201212'
luri.getSchema()
gets the schema
if uri == "hdfs://hdfs-prod/warehouse/databasename.db/tablename.db/dt=201212" luri.getSchema() returns 'hdfs'
luri.getPartitionsAsHDFSPath()
converts the partition coordinates into an HDFS path
p = OrderedDict( 'dt' : '201212', 'country': 'AU' ) dt=201212&country=AU
luri.getHDFSPathAsPartition()
converts the HDFS path into a partition coordinates dictionary
'hdfs://hdfs-production/Vault/Docomodigital/Production/Newton/events/prod/year=2018/month=08/day=07/hour=09'
root path : "/Vault/Docomodigital/Production/Newton/events/prod/"
partitions : {
"year" : "2018",
"month" : "08",
"day" : "07",
"hour" : "09"
}
luri.looksPartitioned()
returns true if the HDFS path can define a partition
Release files for LindexURI 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| LindexURI-0.1.2.tar.gz | 3.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| LindexURI-0.1.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 7.7 kB
Release files / LindexURI-0.1.2.tar.gz
| Download URL | LindexURI-0.1.2.tar.gz |
|---|---|
| Size | 3.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
952c79e8d69ce75c194b0b601e88e168a5bdfdb5b0b75b4fd51681b9dec759f3
|
|
BLAKE2b-256 checksum How to use checksums |
35bb140610d000b66468356dfd247e1ee75b2ee68a81222b7b3b0f3e60e3514c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.16
|
Release files / LindexURI-0.1.2-py2.py3-none-any.whl
| Download URL | LindexURI-0.1.2-py2.py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
c97baf5ad18903117a493f6c68780e220bb69a0ceca8036ebce24052f0b9dfaf
|
|
BLAKE2b-256 checksum How to use checksums |
c3c82c6bef75a562576a08593a2f1337e334525926a021c835182cbf897b48d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.16
|