当前在线人数13942
首页 - 分类讨论区 - 电脑网络 - 数据库版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
介绍一个新写的 database client,希望有人帮忙测试
[版面:数据库][首篇作者:coconut] , 2018年02月22日03:42:31 ,820次阅读,6次回复
来APP回复,赚取更多伪币 关注本站公众号:
[分页:1 ]
coconut
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: coconut (向唐僧大师学习中), 信区: Database
标  题: 介绍一个新写的 database client,希望有人帮忙测试
发信站: BBS 未名空间站 (Thu Feb 22 03:42:31 2018, 美东)

我最近用 Java 写了个通用的 database client 。个人是想其替代 mysq / psql /
bteq 等各类的客户终端。我已经测试得了 mysql / postgresql / sqlite / apache
derby,都支持。SQL Server, Hive 只是大致测试了下,db2,oracle 等还没测试,希
望有人能帮忙。

这东西在

https://teradata.github.io/jaqy/

我写这个的目的之一是想能够通过一个软件就支持

1. 输进输出 CSV / JSON / AVRO 等文件。我在自己机器上传 200MB 的 csv 文件传到
Teradata server 也就几秒的问题。自动从 CSV 里发现其 schema,产生 table
schema 等。
2. 支持 JDBC 提供的各种 metadata discovery 。比如说 .list 显示当前的 schema
/ catalog 里有什么 table 。
3. Scripting with JavaScript。比如是支持 if 指令。可以直接 expand JavaScript
expression (类似 bash / perl 里的 variable / arithmetic expansion )
4. Lots of SQL utilities。比如 client side sorting 等。
5. Data transfer from one database to another.

最后一点,我测试过从 postgresql 直接传送数据到 mysql。从一个 Teradata server
传输数据到另外的 Teradata server 。都挺成功的。比如说

https://github.com/Teradata/jaqy/blob/master/tests/unittests/pipe/pipe_1.sql

https://github.com/Teradata/jaqy/blob/master/tests/unittests/pipe/pipe_4.sql

上面第四个 unit test 我测试过直接传送 2GB 的数据。

如果你能帮忙测试,提供些意见就最好不过。我希望能测试的是一下几点

1. 该数据库的 configuration 。见

https://teradata.github.io/jaqy/config/database.html

2. 是否支持该数据库的所有数据类型。比如

https://github.com/Teradata/jaqy/tree/master/tests/unittests/postgresql
https://github.com/Teradata/jaqy/blob/master/tests/unittests/mysql/data_
types.sql

3. 哪些有问题。比如,Apache Derby 的 XML 支持有问题。SQLite 的 metadata 有些
是错的。PostgreSQL JDBC driver 也问题挺多(不支持 Struct,但是 metadata 给
Struct,SQLXML 某些 interface 有问题等),但是总的来说是否可以有用。

谢谢
--

Imagine the most witty and concise verbal gem ever uttered.
Now imagine I said it, and quoted it here.


http://www.estiah.com/user/register/index/id/36252

※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 47.]

 
AlexanderZ
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: AlexanderZ (Emitor4), 信区: Database
标  题: Re: 介绍一个新写的 database client,希望有人帮忙测试
发信站: BBS 未名空间站 (Mon Feb 26 13:30:58 2018, 美东)

这个必须顶!

现在各色client tool真的是太多了。但从楼主的介绍来看,这分明就是一个以文件为
中间媒介的小ETL和data migration神器嘛,这方面应该可以好好考虑下。

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 206.]

 
coconut
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 3 ]

发信人: coconut (向唐僧大师学习中), 信区: Database
标  题: Re: 介绍一个新写的 database client,希望有人帮忙测试
发信站: BBS 未名空间站 (Thu Mar 15 21:41:15 2018, 美东)


【 在 AlexanderZ (Emitor4) 的大作中提到: 】
: 这个必须顶!
: 现在各色client tool真的是太多了。但从楼主的介绍来看,这分明就是一个以文件为
: 中间媒介的小ETL和data migration神器嘛,这方面应该可以好好考虑下。


谢谢。

我最近又加了 s3 支持。

比如,如果有了 aws-cli 的 config 。直接从 s3 import CSV 到数据库

.import csv -h s3://mybucket/myfile
INSERT INTO MyTable VALUES (?, ?, ?);

类似的,export CSV 到 s3 是

.export csv s3://mybucket/myfile
SELECT * FROM MyTable;

如果没有 aws-cli 的 config,可以自己设置

.s3 access fooooo
.s3 secret barrrr
.s3 region us-west-2

--

Imagine the most witty and concise verbal gem ever uttered.
Now imagine I said it, and quoted it here.


http://www.estiah.com/user/register/index/id/36252

※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 47.]

 
coconut
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 4 ]

发信人: coconut (向唐僧大师学习中), 信区: Database
标  题: Re: 介绍一个新写的 database client,希望有人帮忙测试
发信站: BBS 未名空间站 (Fri Apr  6 02:42:54 2018, 美东)


终于 1.0 版本了。请到下面的地址下载:

https://github.com/Teradata/jaqy/releases

文档在

https://teradata.github.io/jaqy/

【 在 coconut (向唐僧大师学习中) 的大作中提到: 】
: 谢谢。
: 我最近又加了 s3 支持。
: 比如,如果有了 aws-cli 的 config 。直接从 s3 import CSV 到数据库
: .import csv -h s3://mybucket/myfile
: INSERT INTO MyTable VALUES (?, ?, ?);
: 类似的,export CSV 到 s3 是
: .export csv s3://mybucket/myfile
: SELECT * FROM MyTable;
: 如果没有 aws-cli 的 config,可以自己设置
: .s3 access fooooo
: ...................

--

Imagine the most witty and concise verbal gem ever uttered.
Now imagine I said it, and quoted it here.


http://www.estiah.com/user/register/index/id/36252



※ 来源:·BBS 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 47.]

 
AlexanderZ
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 5 ]

发信人: AlexanderZ (Emitor4), 信区: Database
标  题: Re: 介绍一个新写的 database client,希望有人帮忙测试
发信站: BBS 未名空间站 (Wed Apr 18 12:56:55 2018, 美东)

顶!楼主威武!
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 206.]

 
wyr
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 6 ]

发信人: wyr (遗忘小资--其实我是挖坑的), 信区: Database
标  题: Re: 介绍一个新写的 database client,希望有人帮忙测试
发信站: BBS 未名空间站 (Wed Apr 18 21:57:13 2018, 美东)

This syntax looks so similar to mload . Fast load . Teradata’s own tpt
provides much robust syntax. However little confusing sometimes. I
personally developed many tools like this before . Sounds like you are
working for teradata. Would you like to connect with me .?

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 47.]

 
coconut
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 7 ]

发信人: coconut (向唐僧大师学习中), 信区: Database
标  题: Re: 介绍一个新写的 database client,希望有人帮忙测试
发信站: BBS 未名空间站 (Thu Apr 19 00:33:08 2018, 美东)

Yes, I work for Teradata :)

As for syntax being similar to mload / fastload.  Not at all.
Both of their syntax are much more complicated, while mine is one line.
I in fact took the inspiration from BTEQ, but with different syntax.

For example, one of my coworker needed to import a CSV with hundreds of
columns, without having to write the DDL and DML.  So I added the schema
discovery and auto import.

.import csv -h mylargecsvfile.csv
.importtable mytable

TPT script is nowhere this simple.

There are many tools like Jaqy, but I haven't see one close to the
functionalities it provides.  The simple .if condition check would
eliminate most of the clients.  The additional loading / exporting,
direct inter-database data transfer, expression expansion, client
side ResultSet handling, and JavaScript integration are basically unmatched
in other clients.  Needless to say, direct import from S3 bucket is not
found
in other clients.

How do you want to connect?

【 在 wyr (遗忘小资--其实我是挖坑的) 的大作中提到: 】
: This syntax looks so similar to mload . Fast load . Teradata’s own tpt
: provides much robust syntax. However little confusing sometimes. I
: personally developed many tools like this before . Sounds like you are
: working for teradata. Would you like to connect with me .?


--

Imagine the most witty and concise verbal gem ever uttered.
Now imagine I said it, and quoted it here.


http://www.estiah.com/user/register/index/id/36252



※ 来源:·BBS 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 47.]

[分页:1 ]
[快速返回] [ 进入数据库讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996