{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "import sys\n", "sys.path.append(\"..\")\n", "from optimus import Optimus\n", "\n", "# Create optimus^\n", "op = Optimus(\"pandas\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Mysql" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mysql://root:@localhost:3306/loving\n" ] } ], "source": [ "# Put your db credentials here\n", "db = op.connect.mysql(\n", " host=\"localhost\", \n", " database= \"loving\", \n", " user= \"root\", \n", " password = \"\")" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['wp_commentmeta',\n", " 'wp_comments',\n", " 'wp_datalist',\n", " 'wp_hplugin_root',\n", " 'wp_htheme_root',\n", " 'wp_hutility_default_storage_table',\n", " 'wp_links',\n", " 'wp_options',\n", " 'wp_postmeta',\n", " 'wp_posts',\n", " 'wp_revslider_css',\n", " 'wp_revslider_layer_animations',\n", " 'wp_revslider_navigations',\n", " 'wp_revslider_sliders',\n", " 'wp_revslider_slides',\n", " 'wp_revslider_static_slides',\n", " 'wp_statistics_exclusions',\n", " 'wp_statistics_historical',\n", " 'wp_statistics_pages',\n", " 'wp_statistics_search',\n", " 'wp_statistics_useronline',\n", " 'wp_statistics_visit',\n", " 'wp_statistics_visitor',\n", " 'wp_term_relationships',\n", " 'wp_term_taxonomy',\n", " 'wp_termmeta',\n", " 'wp_terms',\n", " 'wp_usermeta',\n", " 'wp_users',\n", " 'wp_woocommerce_api_keys',\n", " 'wp_woocommerce_attribute_taxonomies',\n", " 'wp_woocommerce_downloadable_product_permissions',\n", " 'wp_woocommerce_log',\n", " 'wp_woocommerce_order_itemmeta',\n", " 'wp_woocommerce_order_items',\n", " 'wp_woocommerce_payment_tokenmeta',\n", " 'wp_woocommerce_payment_tokens',\n", " 'wp_woocommerce_sessions',\n", " 'wp_woocommerce_shipping_zone_locations',\n", " 'wp_woocommerce_shipping_zone_methods',\n", " 'wp_woocommerce_shipping_zones',\n", " 'wp_woocommerce_tax_rate_locations',\n", " 'wp_woocommerce_tax_rates',\n", " 'wp_yoast_seo_links',\n", " 'wp_yoast_seo_meta']" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db.tables()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# db.execute(\"SHOW KEYS FROM test_data WHERE key_name = 'PRIMARY'\")" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 11 rows / 15 columns
\n", "
1 partition(s)
\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
comment_ID
\n", "
1 (int64)
\n", " \n", "
\n", "
comment_post_ID
\n", "
2 (int64)
\n", " \n", "
\n", "
comment_author
\n", "
3 (object)
\n", " \n", "
\n", "
comment_author_email
\n", "
4 (object)
\n", " \n", "
\n", "
comment_author_url
\n", "
5 (object)
\n", " \n", "
\n", "
comment_author_IP
\n", "
6 (object)
\n", " \n", "
\n", "
comment_date
\n", "
7 (datetime64[ns])
\n", " \n", "
\n", "
comment_date_gmt
\n", "
8 (datetime64[ns])
\n", " \n", "
\n", "
comment_content
\n", "
9 (object)
\n", " \n", "
\n", "
comment_karma
\n", "
10 (int64)
\n", " \n", "
\n", "
comment_approved
\n", "
11 (object)
\n", " \n", "
\n", "
comment_agent
\n", "
12 (object)
\n", " \n", "
\n", "
comment_type
\n", "
13 (object)
\n", " \n", "
\n", "
comment_parent
\n", "
14 (int64)
\n", " \n", "
\n", "
user_id
\n", "
15 (int64)
\n", " \n", "
\n", "
\n", " \n", " 30\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 31\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 21\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 23\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 25\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 39\n", " \n", "
\n", "
\n", "
\n", " \n", " 516\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-09-07⋅17:15:53\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-09-07⋅17:15:53\n", " \n", "
\n", "
\n", "
\n", " \n", " Unpaid⋅order⋅cancelled⋅-⋅time⋅limit⋅reached.⋅Order⋅status⋅changed⋅...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 28\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 36\n", " \n", "
\n", "
\n", "
\n", " \n", " 514\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-07-23⋅06:56:48\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-07-23⋅06:56:48\n", " \n", "
\n", "
\n", "
\n", " \n", " Unpaid⋅order⋅cancelled⋅-⋅time⋅limit⋅reached.⋅Order⋅status⋅changed⋅...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 34\n", " \n", "
\n", "
\n", "
\n", " \n", " 512\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-14⋅15:43:12\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-14⋅15:43:12\n", " \n", "
\n", "
\n", "
\n", " \n", " Unpaid⋅order⋅cancelled⋅-⋅time⋅limit⋅reached.⋅Order⋅status⋅changed⋅...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 42\n", " \n", "
\n", "
\n", "
\n", " \n", " 517\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-10-26⋅03:54:39\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-10-26⋅03:54:39\n", " \n", "
\n", "
\n", "
\n", " \n", " Unpaid⋅order⋅cancelled⋅-⋅time⋅limit⋅reached.⋅Order⋅status⋅changed⋅...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 43\n", " \n", "
\n", "
\n", "
\n", " \n", " 518\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-12-05⋅21:15:13\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-12-05⋅21:15:13\n", " \n", "
\n", "
\n", "
\n", " \n", " Unpaid⋅order⋅cancelled⋅-⋅time⋅limit⋅reached.⋅Order⋅status⋅changed⋅...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", "
\n", "\n", "
Viewing 10 of 11 rows / 15 columns
\n", "
1 partition(s) <class 'optimus.engines.pandas.dataframe.PandasDataFrame'>
\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "db.execute(\"SELECT * FROM wp_comments\").display()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 18 rows / 14 columns
\n", "
1 partition(s)
\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
comment_post_ID
\n", "
1 (int64)
\n", " \n", "
\n", "
comment_author
\n", "
2 (object)
\n", " \n", "
\n", "
comment_author_email
\n", "
3 (object)
\n", " \n", "
\n", "
comment_author_url
\n", "
4 (object)
\n", " \n", "
\n", "
comment_author_IP
\n", "
5 (object)
\n", " \n", "
\n", "
comment_date
\n", "
6 (datetime64[ns])
\n", " \n", "
\n", "
comment_date_gmt
\n", "
7 (datetime64[ns])
\n", " \n", "
\n", "
comment_content
\n", "
8 (object)
\n", " \n", "
\n", "
comment_karma
\n", "
9 (int64)
\n", " \n", "
\n", "
comment_approved
\n", "
10 (object)
\n", " \n", "
\n", "
comment_agent
\n", "
11 (object)
\n", " \n", "
\n", "
comment_type
\n", "
12 (object)
\n", " \n", "
\n", "
comment_parent
\n", "
13 (int64)
\n", " \n", "
\n", "
user_id
\n", "
14 (int64)
\n", " \n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:08\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " WHITE⋅CLASSIC⋅MAN⋅T-SHIRT⋅-⋅S⋅(tsw00001)⋅stock⋅reduced⋅from⋅50...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 460\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:45:13\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:45:13\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅cancelled⋅by⋅customer.⋅Order⋅status⋅changed⋅from⋅Pending⋅payment&...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
⋅stock⋅reduced⋅from⋅30⋅to⋅29.\" style=\"min-height: 14px;\">\n", " \n", " BLACK⋅CLASSIC⋅MAN⋅T-SHIRT⋅-⋅XL⋅(tsw00002)⋅st...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", "
\n", "\n", "
Viewing 10 of 18 rows / 14 columns
\n", "
1 partition(s) <class 'optimus.engines.pandas.dataframe.PandasDataFrame'>
\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "db.execute(\"SELECT * FROM wp_comments\", partition_column =\"comment_ID\", table_name = \"wp_comments\").display()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 18 rows / 15 columns
\n", "
1 partition(s)
\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
comment_ID
\n", "
1 (int64)
\n", " \n", "
\n", "
comment_post_ID
\n", "
2 (int64)
\n", " \n", "
\n", "
comment_author
\n", "
3 (object)
\n", " \n", "
\n", "
comment_author_email
\n", "
4 (object)
\n", " \n", "
\n", "
comment_author_url
\n", "
5 (object)
\n", " \n", "
\n", "
comment_author_IP
\n", "
6 (object)
\n", " \n", "
\n", "
comment_date
\n", "
7 (datetime64[ns])
\n", " \n", "
\n", "
comment_date_gmt
\n", "
8 (datetime64[ns])
\n", " \n", "
\n", "
comment_content
\n", "
9 (object)
\n", " \n", "
\n", "
comment_karma
\n", "
10 (int64)
\n", " \n", "
\n", "
comment_approved
\n", "
11 (object)
\n", " \n", "
\n", "
comment_agent
\n", "
12 (object)
\n", " \n", "
\n", "
comment_type
\n", "
13 (object)
\n", " \n", "
\n", "
comment_parent
\n", "
14 (int64)
\n", " \n", "
\n", "
user_id
\n", "
15 (int64)
\n", " \n", "
\n", "
\n", " \n", " 30\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 31\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 20\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:08\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 21\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 22\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " WHITE⋅CLASSIC⋅MAN⋅T-SHIRT⋅-⋅S⋅(tsw00001)⋅stock⋅reduced⋅from⋅50...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 23\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 24\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 25\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 32\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
⋅stock⋅reduced⋅from⋅30⋅to⋅29.\" style=\"min-height: 14px;\">\n", " \n", " BLACK⋅CLASSIC⋅MAN⋅T-SHIRT⋅-⋅XL⋅(tsw00002)⋅st...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 39\n", " \n", "
\n", "
\n", "
\n", " \n", " 516\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-09-07⋅17:15:53\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-09-07⋅17:15:53\n", " \n", "
\n", "
\n", "
\n", " \n", " Unpaid⋅order⋅cancelled⋅-⋅time⋅limit⋅reached.⋅Order⋅status⋅changed⋅...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 28\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", "
\n", "\n", "
Viewing 10 of 18 rows / 15 columns
\n", "
1 partition(s) <class 'optimus.engines.pandas.dataframe.PandasDataFrame'>
\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "db.table_to_df(\"wp_comments\", partition_column =\"id\").display()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "df = db.table_to_df(\"wp_comments\", limit=None)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 18 rows / 15 columns
\n", "
1 partition(s)
\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
comment_ID
\n", "
1 (int64)
\n", " \n", "
\n", "
comment_post_ID
\n", "
2 (int64)
\n", " \n", "
\n", "
comment_author
\n", "
3 (object)
\n", " \n", "
\n", "
comment_author_email
\n", "
4 (object)
\n", " \n", "
\n", "
comment_author_url
\n", "
5 (object)
\n", " \n", "
\n", "
comment_author_IP
\n", "
6 (object)
\n", " \n", "
\n", "
comment_date
\n", "
7 (datetime64[ns])
\n", " \n", "
\n", "
comment_date_gmt
\n", "
8 (datetime64[ns])
\n", " \n", "
\n", "
comment_content
\n", "
9 (object)
\n", " \n", "
\n", "
comment_karma
\n", "
10 (int64)
\n", " \n", "
\n", "
comment_approved
\n", "
11 (object)
\n", " \n", "
\n", "
comment_agent
\n", "
12 (object)
\n", " \n", "
\n", "
comment_type
\n", "
13 (object)
\n", " \n", "
\n", "
comment_parent
\n", "
14 (int64)
\n", " \n", "
\n", "
user_id
\n", "
15 (int64)
\n", " \n", "
\n", "
\n", " \n", " 30\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:07\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 31\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 20\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:08\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 21\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 22\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅15:48:09\n", " \n", "
\n", "
\n", "
\n", " \n", " WHITE⋅CLASSIC⋅MAN⋅T-SHIRT⋅-⋅S⋅(tsw00001)⋅stock⋅reduced⋅from⋅50...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 23\n", " \n", "
\n", "
\n", "
\n", " \n", " 420\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-14⋅16:15:10\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 24\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " IPN⋅payment⋅completed\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 25\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-06-19⋅22:57:21\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Pending⋅payment⋅to⋅Processing.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 32\n", " \n", "
\n", "
\n", "
\n", " \n", " 508\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-06-03⋅06:32:08\n", " \n", "
\n", "
\n", "
⋅stock⋅reduced⋅from⋅30⋅to⋅29.\" style=\"min-height: 14px;\">\n", " \n", " BLACK⋅CLASSIC⋅MAN⋅T-SHIRT⋅-⋅XL⋅(tsw00002)⋅st...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 39\n", " \n", "
\n", "
\n", "
\n", " \n", " 516\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " woocommerce@lovingbrickell.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-09-07⋅17:15:53\n", " \n", "
\n", "
\n", "
\n", " \n", " 2018-09-07⋅17:15:53\n", " \n", "
\n", "
\n", "
\n", " \n", " Unpaid⋅order⋅cancelled⋅-⋅time⋅limit⋅reached.⋅Order⋅status⋅changed⋅...\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 28\n", " \n", "
\n", "
\n", "
\n", " \n", " 422\n", " \n", "
\n", "
\n", "
\n", " \n", " Jorge⋅Troya\n", " \n", "
\n", "
\n", "
\n", " \n", " creativo@asmediaconnections.com\n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " \n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " 2017-10-19⋅20:08:12\n", " \n", "
\n", "
\n", "
\n", " \n", " Order⋅status⋅changed⋅from⋅Processing⋅to⋅Completed.\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " WooCommerce\n", " \n", "
\n", "
\n", "
\n", " \n", " order_note\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", " \n", " 0\n", " \n", "
\n", "
\n", "
\n", "
\n", "\n", "
Viewing 10 of 18 rows / 15 columns
\n", "
1 partition(s) <class 'optimus.engines.pandas.dataframe.PandasDataFrame'>
\n", "\n" ], "text/plain": [ " comment_ID comment_post_ID comment_author comment_author_email comment_author_url comment_author_IP comment_date comment_date_gmt comment_content comment_karma comment_approved comment_agent comment_type comment_parent user_id\n", " (int64) (int64) (object) (object) (object) (object) (datetime64[ns]) (datetime64[ns]) (object) (int64) (object) (object) (object) (int64) (int64)\n", "------------ ----------------- ---------------- ------------------------------- -------------------- ------------------- ------------------- ------------------- ------------------------------------------------------------------------------------------------------- --------------- ------------------ --------------- -------------- ---------------- ---------\n", " 30 508 WooCommerce woocommerce@lovingbrickell.com 2018-06-03 06:32:07 2018-06-03 06:32:07 IPN payment completed 0 1 WooCommerce order_note 0 0\n", " 31 508 WooCommerce woocommerce@lovingbrickell.com 2018-06-03 06:32:08 2018-06-03 06:32:08 Order status changed from Pending payment to Processing. 0 1 WooCommerce order_note 0 0\n", " 20 420 WooCommerce woocommerce@lovingbrickell.com 2017-06-14 15:48:08 2017-06-14 15:48:08 IPN payment completed 0 1 WooCommerce order_note 0 0\n", " 21 420 WooCommerce woocommerce@lovingbrickell.com 2017-06-14 15:48:09 2017-06-14 15:48:09 Order status changed from Pending payment to Processing. 0 1 WooCommerce order_note 0 0\n", " 22 420 WooCommerce woocommerce@lovingbrickell.com 2017-06-14 15:48:09 2017-06-14 15:48:09 WHITE CLASSIC MAN T-SHIRT - S (tsw00001) stock reduced from 50 to 49. 0 1 WooCommerce order_note 0 0\n", " 23 420 Jorge Troya creativo@asmediaconnections.com 2017-06-14 16:15:10 2017-06-14 16:15:10 Order status changed from Processing to Completed. 0 1 WooCommerce order_note 0 0\n", " 24 422 WooCommerce woocommerce@lovingbrickell.com 2017-06-19 22:57:21 2017-06-19 22:57:21 IPN payment completed 0 1 WooCommerce order_note 0 0\n", " 25 422 WooCommerce woocommerce@lovingbrickell.com 2017-06-19 22:57:21 2017-06-19 22:57:21 Order status changed from Pending payment to Processing. 0 1 WooCommerce order_note 0 0\n", " 32 508 WooCommerce woocommerce@lovingbrickell.com 2018-06-03 06:32:08 2018-06-03 06:32:08 BLACK CLASSIC MAN T-SHIRT - XL (tsw00002) stock reduced from 30 to 29. 0 1 WooCommerce order_note 0 0\n", " 39 516 WooCommerce woocommerce@lovingbrickell.com 2018-09-07 17:15:53 2018-09-07 17:15:53 Unpaid order cancelled - time limit reached. Order status changed from Pending payment to Cancelled. 0 1 WooCommerce order_note 0 0\n", " 28 422 Jorge Troya creativo@asmediaconnections.com 2017-10-19 20:08:12 2017-10-19 20:08:12 Order status changed from Processing to Completed. 0 1 WooCommerce order_note 0 0" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(SELECT TABLE_NAME AS table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'optimus' GROUP BY TABLE_NAME ) AS t\n", "INFO:optimus:jdbc:mysql://165.227.196.70:3306/optimus?currentSchema=public\n" ] }, { "data": { "text/plain": [ "['test_data']" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db.tables_names_to_json()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Postgres" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:jdbc:postgresql://165.227.196.70:5432/optimus?currentSchema=public\n" ] } ], "source": [ "# Put your db credentials here\n", "db = op.connect(\n", " driver=\"postgresql\",\n", " host=\"165.227.196.70\", \n", " database= \"optimus\", \n", " user= \"testuser\", \n", " password = \"test\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "db.tables()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "db.table_to_df(\"test_data\").table()" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(\n", " SELECT relname as table_name \n", " FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) \n", " WHERE nspname IN ('public') AND relkind='r' ORDER BY reltuples DESC) AS t\n", "INFO:optimus:jdbc:postgresql://165.227.196.70:5432/optimus?currentSchema=public\n" ] }, { "data": { "text/plain": [ "['test_data']" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db.tables_names_to_json()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MSSQL" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'SQLServerDriver' object has no attribute 'uri'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mdatabase\u001b[0m\u001b[1;33m=\u001b[0m \u001b[1;34m\"master\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0muser\u001b[0m\u001b[1;33m=\u001b[0m \u001b[1;34m\"root\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m password = \"\")\n\u001b[0m", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\engines\\base\\io\\connect.py\u001b[0m in \u001b[0;36mmssql\u001b[1;34m(self, host, database, user, password, port, schema)\u001b[0m\n\u001b[0;32m 180\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mmssql\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhost\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdatabase\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0muser\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpassword\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mport\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mschema\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"public\"\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[1;34m'ConnectionType'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 181\u001b[0m return DaskBaseJDBC(host, database, user, password, port=port, driver=DriverProperties.SQLSERVER.value[\"name\"],\n\u001b[1;32m--> 182\u001b[1;33m schema=schema, op=self.op)\n\u001b[0m\u001b[0;32m 183\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 184\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mredshift\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhost\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdatabase\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0muser\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpassword\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mport\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mschema\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"public\"\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[1;34m'ConnectionType'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\engines\\base\\dask\\io\\jdbc.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, host, database, user, password, port, driver, schema, oracle_tns, oracle_service_name, oracle_sid, presto_catalog, cassandra_keyspace, cassandra_table, bigquery_project, bigquery_dataset, op)\u001b[0m\n\u001b[0;32m 75\u001b[0m \u001b[0mpresto_catalog\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mpresto_catalog\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 76\u001b[0m \u001b[0mbigquery_project\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbigquery_project\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 77\u001b[1;33m \u001b[0mbigquery_dataset\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbigquery_dataset\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 78\u001b[0m )\n\u001b[0;32m 79\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\engines\\base\\io\\driver_context.py\u001b[0m in \u001b[0;36muri\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 23\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0muri\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 24\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_driver\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0muri\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 25\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0murl\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mAttributeError\u001b[0m: 'SQLServerDriver' object has no attribute 'uri'" ] } ], "source": [ "# Put your db credentials here\n", "db = op.connect.mssql(\n", " host=\"127.0.0.1\", \n", " database= \"master\", \n", " user= \"root\", \n", " password = \"\")" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(SELECT * FROM INFORMATION_SCHEMA.TABLES) AS t\n", "INFO:optimus:jdbc:sqlserver://165.227.196.70:1433;databaseName=optimus\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 1 of 1 rows / 4 columns
\n", "
1 partition(s)
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
TABLE_CATALOG
\n", "
1 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
TABLE_SCHEMA
\n", "
2 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
TABLE_NAME
\n", "
3 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
TABLE_TYPE
\n", "
4 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
\n", " \n", " optimus\n", " \n", "
\n", "
\n", "
\n", " \n", " dbo\n", " \n", "
\n", "
\n", "
\n", " \n", " test_data\n", " \n", "
\n", "
\n", "
\n", " \n", " BASE⋅TABLE\n", " \n", "
\n", "
\n", "\n", "\n", "
Viewing 1 of 1 rows / 4 columns
\n", "
1 partition(s)
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "db.tables()" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:SELECT * FROM test_data\n", "INFO:optimus:(SELECT * FROM test_data) AS t\n", "INFO:optimus:jdbc:sqlserver://165.227.196.70:1433;databaseName=optimus\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 10 rows / 6 columns
\n", "
1 partition(s)
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
id
\n", "
1 (int)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
first_name
\n", "
2 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
last_name
\n", "
3 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
email
\n", "
4 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
gender
\n", "
5 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
ip_address
\n", "
6 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " Keenan\n", " \n", "
\n", "
\n", "
\n", " \n", " McAirt\n", " \n", "
\n", "
\n", "
\n", " \n", " kmcairt0@spotify.com\n", " \n", "
\n", "
\n", "
\n", " \n", " Male\n", " \n", "
\n", "
\n", "
\n", " \n", " 68.97.227.147\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " Fredelia\n", " \n", "
\n", "
\n", "
\n", " \n", " Lemarie\n", " \n", "
\n", "
\n", "
\n", " \n", " flemarie1@furl.net\n", " \n", "
\n", "
\n", "
\n", " \n", " Female\n", " \n", "
\n", "
\n", "
\n", " \n", " 16.145.123.46\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " Keenan\n", " \n", "
\n", "
\n", "
\n", " \n", " McAirt\n", " \n", "
\n", "
\n", "
\n", " \n", " kmcairt0@spotify.com\n", " \n", "
\n", "
\n", "
\n", " \n", " Male\n", " \n", "
\n", "
\n", "
\n", " \n", " 68.97.227.147\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " Fredelia\n", " \n", "
\n", "
\n", "
\n", " \n", " Lemarie\n", " \n", "
\n", "
\n", "
\n", " \n", " flemarie1@furl.net\n", " \n", "
\n", "
\n", "
\n", " \n", " Female\n", " \n", "
\n", "
\n", "
\n", " \n", " 16.145.123.46\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " Keenan\n", " \n", "
\n", "
\n", "
\n", " \n", " McAirt\n", " \n", "
\n", "
\n", "
\n", " \n", " kmcairt0@spotify.com\n", " \n", "
\n", "
\n", "
\n", " \n", " Male\n", " \n", "
\n", "
\n", "
\n", " \n", " 68.97.227.147\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " Fredelia\n", " \n", "
\n", "
\n", "
\n", " \n", " Lemarie\n", " \n", "
\n", "
\n", "
\n", " \n", " flemarie1@furl.net\n", " \n", "
\n", "
\n", "
\n", " \n", " Female\n", " \n", "
\n", "
\n", "
\n", " \n", " 16.145.123.46\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " Keenan\n", " \n", "
\n", "
\n", "
\n", " \n", " McAirt\n", " \n", "
\n", "
\n", "
\n", " \n", " kmcairt0@spotify.com\n", " \n", "
\n", "
\n", "
\n", " \n", " Male\n", " \n", "
\n", "
\n", "
\n", " \n", " 68.97.227.147\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " Fredelia\n", " \n", "
\n", "
\n", "
\n", " \n", " Lemarie\n", " \n", "
\n", "
\n", "
\n", " \n", " flemarie1@furl.net\n", " \n", "
\n", "
\n", "
\n", " \n", " Female\n", " \n", "
\n", "
\n", "
\n", " \n", " 16.145.123.46\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " Fredelia\n", " \n", "
\n", "
\n", "
\n", " \n", " Lemarie\n", " \n", "
\n", "
\n", "
\n", " \n", " flemarie1@furl.net\n", " \n", "
\n", "
\n", "
\n", " \n", " Female\n", " \n", "
\n", "
\n", "
\n", " \n", " 16.145.123.46\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " Evyn\n", " \n", "
\n", "
\n", "
\n", " \n", " Abbey\n", " \n", "
\n", "
\n", "
\n", " \n", " eabbey0@mlb.com\n", " \n", "
\n", "
\n", "
\n", " \n", " Male\n", " \n", "
\n", "
\n", "
\n", " \n", " 202.99.246.227\n", " \n", "
\n", "
\n", "\n", "\n", "
Viewing 10 of 10 rows / 6 columns
\n", "
1 partition(s)
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "db.table_to_df(\"test_data\").table()" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES) AS t\n", "INFO:optimus:jdbc:sqlserver://165.227.196.70:1433;databaseName=optimus\n" ] }, { "data": { "text/plain": [ "['test_data']" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db.tables_names_to_json()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Redshit" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:jdbc:redshift://redshift-cluster-1.chuvgsqx7epn.us-east-1.redshift.amazonaws.com:5439/dev?currentSchema=public\n" ] } ], "source": [ "# Put your db credentials here\n", "db = op.connect(\n", " driver=\"redshift\",\n", " host=\"165.227.196.70\", \n", " database= \"optimus\", \n", " user= \"testuser\", \n", " password = \"test\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(\n", " SELECT relname as table_name,cast (reltuples as integer) AS count \n", " FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) \n", " WHERE nspname IN ('public') AND relkind='r' ORDER BY reltuples DESC) AS t\n", "INFO:optimus:jdbc:redshift://redshift-cluster-1.chuvgsqx7epn.us-east-1.redshift.amazonaws.com:5439/dev?currentSchema=public\n" ] }, { "ename": "Py4JJavaError", "evalue": "An error occurred while calling o41.load.\n: java.sql.SQLException: [Amazon](500150) Error setting/closing connection: Connection timed out: connect.\r\n\tat com.amazon.redshift.client.PGClient.connect(Unknown Source)\r\n\tat com.amazon.redshift.client.PGClient.(Unknown Source)\r\n\tat com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source)\r\n\tat com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)\r\n\tat com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:63)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:54)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD$.resolveTable(JDBCRDD.scala:56)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRelation.(JDBCRelation.scala:115)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:52)\r\n\tat org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:340)\r\n\tat org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:239)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:227)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:164)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)\r\n\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)\r\n\tat py4j.Gateway.invoke(Gateway.java:282)\r\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)\r\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\r\n\tat py4j.GatewayConnection.run(GatewayConnection.java:238)\r\nCaused by: com.amazon.support.exceptions.GeneralException: [Amazon](500150) Error setting/closing connection: Connection timed out: connect.\r\n\t... 24 more\r\nCaused by: java.net.ConnectException: Connection timed out: connect\r\n\tat sun.nio.ch.Net.connect0(Native Method)\r\n\tat sun.nio.ch.Net.connect(Net.java:454)\r\n\tat sun.nio.ch.Net.connect(Net.java:446)\r\n\tat sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)\r\n\tat sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:96)\r\n\tat com.amazon.redshift.client.PGClient.connect(Unknown Source)\r\n\tat com.amazon.redshift.client.PGClient.(Unknown Source)\r\n\tat com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source)\r\n\tat com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)\r\n\tat com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:63)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:54)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD$.resolveTable(JDBCRDD.scala:56)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRelation.(JDBCRelation.scala:115)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:52)\r\n\tat org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:340)\r\n\tat org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:239)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:227)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:164)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)\r\n\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)\r\n\tat py4j.Gateway.invoke(Gateway.java:282)\r\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)\r\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\r\n\tat py4j.GatewayConnection.run(GatewayConnection.java:238)\r\n\tat java.lang.Thread.run(Thread.java:748)\r\n", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mPy4JJavaError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtables\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\io\\jdbc.py\u001b[0m in \u001b[0;36mtables\u001b[1;34m(self, schema, database, limit)\u001b[0m\n\u001b[0;32m 179\u001b[0m FROM user_tables ORDER BY table_name\"\"\"\n\u001b[0;32m 180\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 181\u001b[1;33m \u001b[0mdf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mquery\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlimit\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 182\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtable\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlimit\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 183\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\io\\jdbc.py\u001b[0m in \u001b[0;36mexecute\u001b[1;34m(self, query, limit)\u001b[0m\n\u001b[0;32m 309\u001b[0m \u001b[0mconf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtable\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcassandra_table\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkeyspace\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcassandra_keyspace\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 310\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 311\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_limit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mconf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlimit\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 312\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 313\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mdf_to_table\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtable\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"overwrite\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pyspark\\sql\\readwriter.py\u001b[0m in \u001b[0;36mload\u001b[1;34m(self, path, format, schema, **options)\u001b[0m\n\u001b[0;32m 170\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_df\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_jreader\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_spark\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_sc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_jvm\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mPythonUtils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtoSeq\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 171\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 172\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_df\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_jreader\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 173\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 174\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0msince\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1.4\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\py4j\\java_gateway.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args)\u001b[0m\n\u001b[0;32m 1255\u001b[0m \u001b[0manswer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgateway_client\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msend_command\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcommand\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1256\u001b[0m return_value = get_return_value(\n\u001b[1;32m-> 1257\u001b[1;33m answer, self.gateway_client, self.target_id, self.name)\n\u001b[0m\u001b[0;32m 1258\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1259\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mtemp_arg\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mtemp_args\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pyspark\\sql\\utils.py\u001b[0m in \u001b[0;36mdeco\u001b[1;34m(*a, **kw)\u001b[0m\n\u001b[0;32m 61\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mdeco\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 62\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 63\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 64\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mpy4j\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprotocol\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mPy4JJavaError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 65\u001b[0m \u001b[0ms\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mjava_exception\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtoString\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\py4j\\protocol.py\u001b[0m in \u001b[0;36mget_return_value\u001b[1;34m(answer, gateway_client, target_id, name)\u001b[0m\n\u001b[0;32m 326\u001b[0m raise Py4JJavaError(\n\u001b[0;32m 327\u001b[0m \u001b[1;34m\"An error occurred while calling {0}{1}{2}.\\n\"\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 328\u001b[1;33m format(target_id, \".\", name), value)\n\u001b[0m\u001b[0;32m 329\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 330\u001b[0m raise Py4JError(\n", "\u001b[1;31mPy4JJavaError\u001b[0m: An error occurred while calling o41.load.\n: java.sql.SQLException: [Amazon](500150) Error setting/closing connection: Connection timed out: connect.\r\n\tat com.amazon.redshift.client.PGClient.connect(Unknown Source)\r\n\tat com.amazon.redshift.client.PGClient.(Unknown Source)\r\n\tat com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source)\r\n\tat com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)\r\n\tat com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:63)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:54)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD$.resolveTable(JDBCRDD.scala:56)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRelation.(JDBCRelation.scala:115)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:52)\r\n\tat org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:340)\r\n\tat org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:239)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:227)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:164)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)\r\n\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)\r\n\tat py4j.Gateway.invoke(Gateway.java:282)\r\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)\r\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\r\n\tat py4j.GatewayConnection.run(GatewayConnection.java:238)\r\nCaused by: com.amazon.support.exceptions.GeneralException: [Amazon](500150) Error setting/closing connection: Connection timed out: connect.\r\n\t... 24 more\r\nCaused by: java.net.ConnectException: Connection timed out: connect\r\n\tat sun.nio.ch.Net.connect0(Native Method)\r\n\tat sun.nio.ch.Net.connect(Net.java:454)\r\n\tat sun.nio.ch.Net.connect(Net.java:446)\r\n\tat sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)\r\n\tat sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:96)\r\n\tat com.amazon.redshift.client.PGClient.connect(Unknown Source)\r\n\tat com.amazon.redshift.client.PGClient.(Unknown Source)\r\n\tat com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source)\r\n\tat com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)\r\n\tat com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:63)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$1.apply(JdbcUtils.scala:54)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD$.resolveTable(JDBCRDD.scala:56)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JDBCRelation.(JDBCRelation.scala:115)\r\n\tat org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:52)\r\n\tat org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:340)\r\n\tat org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:239)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:227)\r\n\tat org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:164)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)\r\n\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)\r\n\tat py4j.Gateway.invoke(Gateway.java:282)\r\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)\r\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\r\n\tat py4j.GatewayConnection.run(GatewayConnection.java:238)\r\n\tat java.lang.Thread.run(Thread.java:748)\r\n" ] } ], "source": [ "db.tables()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "db.table_to_df(\"test_data\").table()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Oracle" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Put your db credentials here\n", "db = op.connect(\n", " driver=\"oracle\",\n", " host=\"165.227.196.70\", \n", " database= \"optimus\", \n", " user= \"testuser\", \n", " password = \"test\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SQLlite" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:jdbc:sqlite:chinook.db\n" ] } ], "source": [ "# Put your db credentials here\n", "db = op.connect(\n", " driver=\"sqlite\",\n", " host=\"chinook.db\", \n", " database= \"employes\", \n", " user= \"testuser\", \n", " password = \"test\")" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(SELECT name FROM sqlite_master WHERE type='table') AS t\n", "INFO:optimus:jdbc:sqlite:chinook.db\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 10 rows / 1 columns
\n", "
1 partition(s)
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
name
\n", "
1 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
\n", " \n", " albums\n", " \n", "
\n", "
\n", "
\n", " \n", " sqlite_sequence\n", " \n", "
\n", "
\n", "
\n", " \n", " artists\n", " \n", "
\n", "
\n", "
\n", " \n", " customers\n", " \n", "
\n", "
\n", "
\n", " \n", " employees\n", " \n", "
\n", "
\n", "
\n", " \n", " genres\n", " \n", "
\n", "
\n", "
\n", " \n", " invoices\n", " \n", "
\n", "
\n", "
\n", " \n", " invoice_items\n", " \n", "
\n", "
\n", "
\n", " \n", " media_types\n", " \n", "
\n", "
\n", "
\n", " \n", " playlists\n", " \n", "
\n", "
\n", "\n", "\n", "
Viewing 10 of 10 rows / 1 columns
\n", "
1 partition(s)
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "db.tables()" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(SELECT COUNT(*) as COUNT FROM albums) AS t\n", "INFO:optimus:jdbc:sqlite:chinook.db\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "347 rows\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:SELECT * FROM albums\n", "INFO:optimus:(SELECT * FROM albums) AS t\n", "INFO:optimus:jdbc:sqlite:chinook.db\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 347 rows / 3 columns
\n", "
1 partition(s)
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
AlbumId
\n", "
1 (int)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
Title
\n", "
2 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
ArtistId
\n", "
3 (int)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " For⋅Those⋅About⋅To⋅Rock⋅We⋅Salute⋅You\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " Balls⋅to⋅the⋅Wall\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " 3\n", " \n", "
\n", "
\n", "
\n", " \n", " Restless⋅and⋅Wild\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " 4\n", " \n", "
\n", "
\n", "
\n", " \n", " Let⋅There⋅Be⋅Rock\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " 5\n", " \n", "
\n", "
\n", "
\n", " \n", " Big⋅Ones\n", " \n", "
\n", "
\n", "
\n", " \n", " 3\n", " \n", "
\n", "
\n", "
\n", " \n", " 6\n", " \n", "
\n", "
\n", "
\n", " \n", " Jagged⋅Little⋅Pill\n", " \n", "
\n", "
\n", "
\n", " \n", " 4\n", " \n", "
\n", "
\n", "
\n", " \n", " 7\n", " \n", "
\n", "
\n", "
\n", " \n", " Facelift\n", " \n", "
\n", "
\n", "
\n", " \n", " 5\n", " \n", "
\n", "
\n", "
\n", " \n", " 8\n", " \n", "
\n", "
\n", "
\n", " \n", " Warner⋅25⋅Anos\n", " \n", "
\n", "
\n", "
\n", " \n", " 6\n", " \n", "
\n", "
\n", "
\n", " \n", " 9\n", " \n", "
\n", "
\n", "
\n", " \n", " Plays⋅Metallica⋅By⋅Four⋅Cellos\n", " \n", "
\n", "
\n", "
\n", " \n", " 7\n", " \n", "
\n", "
\n", "
\n", " \n", " 10\n", " \n", "
\n", "
\n", "
\n", " \n", " Audioslave\n", " \n", "
\n", "
\n", "
\n", " \n", " 8\n", " \n", "
\n", "
\n", "\n", "\n", "
Viewing 10 of 347 rows / 3 columns
\n", "
1 partition(s)
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "db.table_to_df(\"albums\",limit=\"all\").table()" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:(SELECT name FROM sqlite_master WHERE type='table') AS t\n", "INFO:optimus:jdbc:sqlite:chinook.db\n" ] }, { "data": { "text/plain": [ "['albums',\n", " 'sqlite_sequence',\n", " 'artists',\n", " 'customers',\n", " 'employees',\n", " 'genres',\n", " 'invoices',\n", " 'invoice_items',\n", " 'media_types',\n", " 'playlists',\n", " 'playlist_track',\n", " 'tracks',\n", " 'sqlite_stat1']" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db.tables_names_to_json()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Redis" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:Downloading foo.csv from https://raw.githubusercontent.com/ironmussa/Optimus/master/examples/data/foo.csv\n", "INFO:optimus:Downloaded 967 bytes\n", "INFO:optimus:Creating DataFrame for foo.csv. Please wait...\n" ] } ], "source": [ "df = op.load.csv(\"https://raw.githubusercontent.com/ironmussa/Optimus/master/examples/data/foo.csv\", sep=\",\", header='true', infer_schema='true', charset=\"UTF-8\", null_value=\"None\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
Viewing 10 of 19 rows / 8 columns
\n", "
1 partition(s)
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
id
\n", "
1 (int)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
firstName
\n", "
2 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
lastName
\n", "
3 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
billingId
\n", "
4 (int)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
product
\n", "
5 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
price
\n", "
6 (int)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
birth
\n", "
7 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
dummyCol
\n", "
8 (string)
\n", "
\n", " \n", " nullable\n", " \n", "
\n", "
\n", "
\n", " \n", " 1\n", " \n", "
\n", "
\n", "
\n", " \n", " Luis\n", " \n", "
\n", "
\n", "
\n", " \n", " Alvarez$$%!\n", " \n", "
\n", "
\n", "
\n", " \n", " 123\n", " \n", "
\n", "
\n", "
\n", " \n", " Cake\n", " \n", "
\n", "
\n", "
\n", " \n", " 10\n", " \n", "
\n", "
\n", "
\n", " \n", " 1980/07/07\n", " \n", "
\n", "
\n", "
\n", " \n", " never\n", " \n", "
\n", "
\n", "
\n", " \n", " 2\n", " \n", "
\n", "
\n", "
\n", " \n", " André\n", " \n", "
\n", "
\n", "
\n", " \n", " Ampère\n", " \n", "
\n", "
\n", "
\n", " \n", " 423\n", " \n", "
\n", "
\n", "
\n", " \n", " piza\n", " \n", "
\n", "
\n", "
\n", " \n", " 8\n", " \n", "
\n", "
\n", "
\n", " \n", " 1950/07/08\n", " \n", "
\n", "
\n", "
\n", " \n", " gonna\n", " \n", "
\n", "
\n", "
\n", " \n", " 3\n", " \n", "
\n", "
\n", "
\n", " \n", " NiELS\n", " \n", "
\n", "
\n", "
\n", " \n", " Böhr//((%%\n", " \n", "
\n", "
\n", "
\n", " \n", " 551\n", " \n", "
\n", "
\n", "
\n", " \n", " pizza\n", " \n", "
\n", "
\n", "
\n", " \n", " 8\n", " \n", "
\n", "
\n", "
\n", " \n", " 1990/07/09\n", " \n", "
\n", "
\n", "
\n", " \n", " give\n", " \n", "
\n", "
\n", "
\n", " \n", " 4\n", " \n", "
\n", "
\n", "
\n", " \n", " PAUL\n", " \n", "
\n", "
\n", "
\n", " \n", " dirac$\n", " \n", "
\n", "
\n", "
\n", " \n", " 521\n", " \n", "
\n", "
\n", "
\n", " \n", " pizza\n", " \n", "
\n", "
\n", "
\n", " \n", " 8\n", " \n", "
\n", "
\n", "
\n", " \n", " 1954/07/10\n", " \n", "
\n", "
\n", "
\n", " \n", " you\n", " \n", "
\n", "
\n", "
\n", " \n", " 5\n", " \n", "
\n", "
\n", "
\n", " \n", " Albert\n", " \n", "
\n", "
\n", "
\n", " \n", " Einstein\n", " \n", "
\n", "
\n", "
\n", " \n", " 634\n", " \n", "
\n", "
\n", "
\n", " \n", " pizza\n", " \n", "
\n", "
\n", "
\n", " \n", " 8\n", " \n", "
\n", "
\n", "
\n", " \n", " 1990/07/11\n", " \n", "
\n", "
\n", "
\n", " \n", " up\n", " \n", "
\n", "
\n", "
\n", " \n", " 6\n", " \n", "
\n", "
\n", "
\n", " \n", " Galileo\n", " \n", "
\n", "
\n", "
\n", " \n", " ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅GALiLEI\n", " \n", "
\n", "
\n", "
\n", " \n", " 672\n", " \n", "
\n", "
\n", "
\n", " \n", " arepa\n", " \n", "
\n", "
\n", "
\n", " \n", " 5\n", " \n", "
\n", "
\n", "
\n", " \n", " 1930/08/12\n", " \n", "
\n", "
\n", "
\n", " \n", " never\n", " \n", "
\n", "
\n", "
\n", " \n", " 7\n", " \n", "
\n", "
\n", "
\n", " \n", " CaRL\n", " \n", "
\n", "
\n", "
\n", " \n", " Ga%%%uss\n", " \n", "
\n", "
\n", "
\n", " \n", " 323\n", " \n", "
\n", "
\n", "
\n", " \n", " taco\n", " \n", "
\n", "
\n", "
\n", " \n", " 3\n", " \n", "
\n", "
\n", "
\n", " \n", " 1970/07/13\n", " \n", "
\n", "
\n", "
\n", " \n", " gonna\n", " \n", "
\n", "
\n", "
\n", " \n", " 8\n", " \n", "
\n", "
\n", "
\n", " \n", " David\n", " \n", "
\n", "
\n", "
\n", " \n", " H$$$ilbert\n", " \n", "
\n", "
\n", "
\n", " \n", " 624\n", " \n", "
\n", "
\n", "
\n", " \n", " taaaccoo\n", " \n", "
\n", "
\n", "
\n", " \n", " 3\n", " \n", "
\n", "
\n", "
\n", " \n", " 1950/07/14\n", " \n", "
\n", "
\n", "
\n", " \n", " let\n", " \n", "
\n", "
\n", "
\n", " \n", " 9\n", " \n", "
\n", "
\n", "
\n", " \n", " Johannes\n", " \n", "
\n", "
\n", "
\n", " \n", " KEPLER\n", " \n", "
\n", "
\n", "
\n", " \n", " 735\n", " \n", "
\n", "
\n", "
\n", " \n", " taco\n", " \n", "
\n", "
\n", "
\n", " \n", " 3\n", " \n", "
\n", "
\n", "
\n", " \n", " 1920/04/22\n", " \n", "
\n", "
\n", "
\n", " \n", " you\n", " \n", "
\n", "
\n", "
\n", " \n", " 10\n", " \n", "
\n", "
\n", "
\n", " \n", " JaMES\n", " \n", "
\n", "
\n", "
\n", " \n", " M$$ax%%well\n", " \n", "
\n", "
\n", "
\n", " \n", " 875\n", " \n", "
\n", "
\n", "
\n", " \n", " taco\n", " \n", "
\n", "
\n", "
\n", " \n", " 3\n", " \n", "
\n", "
\n", "
\n", " \n", " 1923/03/12\n", " \n", "
\n", "
\n", "
\n", " \n", " down\n", " \n", "
\n", "
\n", "\n", "\n", "
Viewing 10 of 19 rows / 8 columns
\n", "
1 partition(s)
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.table()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# Put your db credentials here\n", "db = op.connect(\n", " driver=\"redis\",\n", " host=\"165.227.196.70\", \n", " port = 6379,\n", " database= 1, \n", " password = \"\")" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:optimus:`id`,`firstName`,`lastName`,`billingId`,`product`,`price`,`birth`,`dummyCol` column(s) was not processed because is/are not array,vector\n", "INFO:optimus:Outputting 0 columns after filtering. Is this expected?\n", "INFO:optimus:Using 'column_exp' to process column 'id' with function _cast_to\n", "INFO:optimus:Using 'column_exp' to process column 'firstName' with function _cast_to\n", "INFO:optimus:Using 'column_exp' to process column 'lastName' with function _cast_to\n", "INFO:optimus:Using 'column_exp' to process column 'billingId' with function _cast_to\n", "INFO:optimus:Using 'column_exp' to process column 'product' with function _cast_to\n", "INFO:optimus:Using 'column_exp' to process column 'price' with function _cast_to\n", "INFO:optimus:Using 'column_exp' to process column 'birth' with function _cast_to\n", "INFO:optimus:Using 'column_exp' to process column 'dummyCol' with function _cast_to\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "hola1\n" ] } ], "source": [ "db.df_to_table(df, \"hola1\", redis_primary_key=\"id\")" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "can only concatenate str (not \"int\") to str", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# https://stackoverflow.com/questions/56707978/how-to-write-from-a-pyspark-dstream-to-redis\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mdb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtable_to_df\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\io\\jdbc.py\u001b[0m in \u001b[0;36mtable_to_df\u001b[1;34m(self, table_name, columns, limit)\u001b[0m\n\u001b[0;32m 122\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 123\u001b[0m \u001b[0mdb_table\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtable_name\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 124\u001b[1;33m \u001b[0mquery\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdriver_context\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcount_query\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdb_table\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdb_table\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 125\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlimit\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"all\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 126\u001b[0m \u001b[0mcount\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mquery\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"all\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfirst\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\io\\driver_context.py\u001b[0m in \u001b[0;36mcount_query\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 31\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 32\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mcount_query\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 33\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_driver\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcount_query\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;32m~\\Documents\\Optimus\\optimus\\io\\sqlserver.py\u001b[0m in \u001b[0;36mcount_query\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 24\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mcount_query\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 26\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[1;34m\"SELECT COUNT(*) as COUNT FROM \"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"db_table\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" ] } ], "source": [ "# https://stackoverflow.com/questions/56707978/how-to-write-from-a-pyspark-dstream-to-redis\n", " \n", "db.table_to_df(0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 2 }