With TextQL, one can execute SQL against structured Text like CSV or TSV. One need to install GO to compile TextQL. Here is how to do from scratch. We are assuming that the user is either using GNU Linux or OS X, though we will describe the process of installing TextQL on OS X. It is kind of mandatory to read the instruction described here (and the linked article) – iTerm2, Homebrew and ZSH Installation on OS X. Homebrew has the package, although one can follow the direction in official Go language’s description.
Execute SQL Against Structured Text Like CSV With TextQL : Need
SQL like queries (counting, aggregating, joining,etc) demands using a full fledged database. Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows® operating system. If you have any dealings at all with data and databases, then you almost certainly will have have to deal with comma-separated values (CSV) data. Unfortunately, the CSV files you are given, or are required to produce, never seem to be in quite the right format for your particular business application. And because of the structure of CSV records, using standard text processing tools like sed, awk and Perl on CSV files is not as simple as it might be.
Execute SQL Against Structured Text Like CSV With TextQL : Steps for Setup
The advantage of using Homebrew with our aforementioned setup is that, one who has not set .profile file will not end up asking where is the .profile file. We actually have .zshrc :
---
1 2 | vi .zshrc #use :q and hit Return key to quit |
You should have set the GOPATH before you use go get command to install TextQL. The actual set of all commands will be :
1 2 3 4 5 6 7 8 9 10 11 12 13 | brew update && brew upgrade brew install go brew install git brew install mercurial mkdir $HOME/go mkdir -p $GOPATH/src/github.com/user echo "installation done." echo "export GOPATH=$HOME/go" go get code.google.com/p/go-tour/gotour gotour |
But, you actually can run this bash script :
If you want to build from the source, here is the guide :
1 | http://golang.org/doc/install/gccgo |
When you will open your iTerm2, it will open at $HOME, simply type :
1 | nano go.sh |
Copy Paste the whole content of the bash script above, hit control and o keys to save and then control plus x keys to exit. You need to change the permission first :
1 | chmod u+x go.sh |
Run the script :
1 | ./go.sh |
You will get an initial output :
1 | add lines to .bashrc or .zshrc first |
and then the process will run, you need not to do anything. It can take a good time. Please check the version of Go, you will need to run these two commands :
1 2 3 | export PATH=$PATH:/usr/local/Cellar/go/1.2.1/libexec/bin export GOPATH=/usr/local/Cellar/go/1.2.1/libexec/bin export CC=clang |
Then, GO will work. 1.2.1 is the version. The script made the things easy.
1 | go get -u github.com/dinedal/textql |
Proper installation can be tested by running the command :
1 | textql |
The project is good, but its official instruction is very poorly written.
Tagged With go language query csv files github , query CSV file with SQL , running an sql query against csv , sql queries against csv , sql query against csv file